朋友的大量定制博客有一个类别,其中包含categoryname-single.php
文件以显示帖子。
显然没有什么特别的原因,从昨天开始,the_content()
不再为该类别的帖子返回任何内容,即使WP后端清楚地显示了帖子中的内容。
所有其他类别均不受影响。
我尝试/排除的内容:
没有PHP错误:我用echo get_the_content()
相反,没有用。
我正在处理正确的文件:当我更改文件中的其他内容或硬编码其中的HTML文本时,它会显示在页面上。这也排除了任何缓存问题
<? echo "start"; the_content(); echo " end"; ?> // outputs "start end";
内容在物理上丢失了,它不仅仅是隐藏的或其他什么:我使用DOM检查器检查了DOM,并查看了HTML源代码。哪里应该有满足,哪里就什么都没有。
这会影响该类别中的所有文章;几周来他们都没有换过衣服。它们都已出版。
这个问题并不是由一些无法解析的短代码引起的:我曾尝试在帖子中输入纯文本,结果相同。
没有环路混淆:the_ID()
返回正确的帖子ID。
已登录和未登录的用户都会出现此问题。
昨天,博客所有者安装和卸载了一些插件,并编辑了一些文件(尽管纯粹是卫生措施,如删除多余的评论等)。我不能排除这些事情中的一个导致了这个问题,但我真的不知道是怎么回事。
我已经智穷了。我的问题:
有没有办法输出未经过滤的原始post HTML,以确定这是否是一个恶意过滤器,因为某种奇怪的原因删除了特定类别中的所有内容?
还有什么会导致仅一个类别中的内容被大量删除?
有人对如何调试这个有其他想法吗?
最合适的回答,由SO网友:Bainternet 整理而成
有没有办法输出未经过滤的原始post HTML,以确定这是否是出于某种奇怪的原因删除特定类别中所有内容的恶意过滤器?
是的,你可以使用$post->post_content
. 尝试添加以下内容:
echo \'<pre>\'.$post->post_content.\'</pre>\';
就在之前
the_content()
调用模板文件。
还有什么可能导致仅一个类别中的内容被大量删除?
因为你说你可以在后端看到内容,所以没有删除,很可能与一个过滤器挂钩有关the_content
钩
试着一个一个地停用插件并重新激活主题,看看是哪一个导致了它。如果不是这样,那么试着切换到默认主题,看看这是不是原因。