【问题标题】:W3 Total Cache and body_classW3 总缓存和 body_class
【发布时间】:2014-07-24 02:19:36
【问题描述】:

我刚刚在客户端站点上安装了 W3 Total Cache Wordpress 插件,乍一看,一切似乎都运行良好。问题是当我查看单个帖子时,在页面底部添加的评论 W3 Total Cache 插件似乎正在评论 <body> 元素并返回:

<body 
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached (User is logged in)
Object Caching 959/1096 objects using memcached

Served from: mydomain.com @ 2014-06-03 12:23:05 by W3 Total Cache -->

当我从页眉中删除 &lt;?php body_class(); ?&gt; 函数时,页面加载,但没有侧边栏和其他元素。

我在 wp-config.php 中启用了WP_DEBUG,这指向了我在第 622 行的 /wp-includes/plugin.php 中的一个 foreach 循环错误,该错误指的是 plugin_basename($file) 函数。我假设某些东西与 W3 Total Cache 冲突并丢弃了插件基本名称。我的猜测是 Wordpress 正在搜索一个找不到的插件?

这是我最近启用的唯一插件,当我禁用它时问题并没有解决。以前有没有人经历过这种情况,或者有没有人知道我可以做些什么来恢复我的个人帖子?

编辑:当 W3 Total Cache 被停用时,&lt;body&gt; 元素呈现像 &lt;body 一样没有关闭 &gt;,因此不会呈现除此之外的任何内容。

编辑 2: 我已经恢复到 Wordpress 3.8,这似乎已经解决了这个问题。我希望尽快修复 3.9。

【问题讨论】:

    标签: php caching wordpress w3-total-cache


    【解决方案1】:

    在我看来问题是&lt;body&gt; 标记缺少最后的&gt;

    您确定这与 W3 Total Cache 有关吗?如果我正确阅读了您的帖子,似乎即使您删除了此插件,您仍然会遇到此问题?

    也许你不小心删除了 header.php 中 body 标记后的 &gt;

    如果标签的&lt;body 部分后面有多个&lt;?php 类,则很容易做到。

    【讨论】:

    • 显然&lt;body&gt; 标记缺少它的右大括号,但标记中并非如此。它只发生在单个帖子页面上。我已经恢复到 WP 3.8,现在一切正常
    • 这很奇怪。我想这一切都指向body_class() 在做什么?它必须对页面中的某些元素进行某种 preg_replace 并无意中从正文中删除结尾 &gt;?我假设它正在尝试将特定于页面的类添加到正文标签,这一定是它只出现在单个帖子上的原因。该函数中可能有一个 is_single() 测试,它对单个帖子的处理与其他页面不同?
    • 是的,我已经为此苦恼了几天。当它发布时,我将尝试升级到 3.9.2(或 3.9.3),看看是否能解决我的问题。我认为插件和is_single(); 函数存在冲突,这很奇怪。
    • 排序后发回。我很想知道它是什么。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    相关资源
    最近更新 更多