尝试仅在Home上运行功能

时间:2014-03-24 作者:marcelo2605

我正在尝试仅在我的主页上运行禁用自动p筛选器。在我的功能中。php文件,我添加了以下代码段:

function removeP(){
    if ( is_page( 4 ) ) {
        remove_filter(\'the_content\', \'wpautop\');
    }
}

add_action( \'after_setup_theme\', \'removeP\' );
它不会删除主页上的过滤器。

2 个回复
SO网友:Tom J Nowell

你打错电话了,你打错电话了conditional function 进行测试。

after_setup_theme 钩子被激活了,WordPress还没有完成处理你是在页面上还是在主页上。

你也应该never 传入硬编码的post ID。在这种情况下is_home 很可能有效is_front_page. 如果您确实必须引用硬编码的帖子,而我请求您不要引用,请改用帖子slug,或者更好,在选项中存储帖子ID,并提供下拉菜单,让用户在后端进行选择。

您的函数应该是这样的:

function removeP(){
    if ( is_home () ) {
        remove_filter(\'the_content\', \'wpautop\');
    }
}

add_action( \'template_redirect\', \'removeP\' );

SO网友:Zach Russell

改变if ( is_page( 4 ))if (is_home() ) 因此:

function removeP(){
    if ( is_home() ) {
        remove_filter(\'the_content\', \'wpautop\');
    }
}

add_action( \'after_setup_theme\', \'removeP\' );

结束

相关推荐

custom post on homepage

我如何在buddypress的主页上包含特定类别的帖子?例如,我有一个ID为3的“主页横幅”类别。在管理中,我创建了一个帖子,并将“主页横幅”类别分配给它。然后我需要这个显示在主页上(最新的帖子)。我是WP/BP的新手,非常感谢您的帮助。谢谢