内容在两个多站点之一上不起作用(_C)

时间:2013-05-07 作者:Moshe Eshel

我有一个多站点,有两个子站点(子域设置)。两个站点都有相同的主题,相同的插件,但第一个是希伯来语,第二个是英语。

在英文站点的某些模板(并非全部)上,“the\\u content()”不起作用(在希伯来文站点上效果很好)。这是一个自定义的帖子类型,但并非所有的CPT都有相同的问题,哪种帖子类型不起作用似乎是随机的(但它们继续不起作用的事实是一致的)。

我检查了所有内容,循环似乎正常(节选()和标题()工作得很好),但具体来说,\\u content()不工作(并获取\\u content()),显示内容的唯一方式是$post->post\\u content。我关掉了所有插件并进行了检查(没有效果)

所以我现在的解决办法是

echo apply_filters(\'the_content\', $post->post_content); 
应该正确地对其进行消毒(这是可行的)。同样,第一个站点上的同一模板可以很好地与\\u content()配合使用(一旦我应用了变通方法,它当然不再使用它了)。

我正在使用根主题http://www.rootstheme.com/

有人能帮忙吗?我错过了什么?

1 个回复
最合适的回答,由SO网友:Pat J 整理而成

检查是否存在仅return 如果满足某些条件。我曾经遇到过一个问题,几乎所有页面的内容区域都是空白的。我发现问题出在如下代码片段中:

add_filter( \'the_content\', \'this_will_blank_pages\' );
function this_will_blank_pages( $content ) {
    if( is_page( \'some-page-title\' ) ) {
        str_replace( \'some-text\', \'other-text\', $content );
        return $content;
    }
}
问题是return $content; 仅发生在some-page-title, 这意味着在所有其他页面上return 陈述因此,空白内容区域。

当我将代码修改为以下内容时:

add_filter( \'the_content\', \'this_will_blank_pages\' );
function this_will_blank_pages( $content ) {
    if( is_page( \'some-page-title\' ) ) {
        str_replace( \'some-text\', \'other-text\', $content );
    }
    return $content;
}
。。。它按预期工作。吸取的教训。

检查你的主题functions.php 文件和任何可能用于具有这种逻辑的过滤器函数的插件。

结束