functions.php中的条件不起作用

时间:2014-11-03 03:47:29

标签: php wordpress

我使用以下代码在所有页面中停用auto paragraphbr

    remove_filter( 'the_content', 'wpautop' );
    remove_filter( 'the_excerpt', 'wpautop' );

稍后我决定,我想要自动<p><br /> 表现那样,在taxonomy => blog-cat所以我提出了这个代码:

 function remove_auto(){
 if(!is_tax('blog-cat')){
    remove_filter( 'the_content', 'wpautop' );
    remove_filter( 'the_excerpt', 'wpautop' );
}
}
add_action('wp_head','remove_auto',0);

但不幸的是它没有用。

有人有想法吗?

1 个答案:

答案 0 :(得分:0)

您的代码正在检查“blog-cat”是否不是每个请求的分类,而不是检查当前分类是什么,而不是删除过滤器,如果它是“blog-cat”。您无法使用get_queried_object() ->name获取分类名称。

function remove_auto(){
    // remove the filter if it is not a taxonomy, or if it is the name doesn't equal 'blog-cat'
    if ( ! is_tax() || 'blog-cat' != get_queried_object()->name ){
        remove_filter( 'the_content', 'wpautop' );
        remove_filter( 'the_excerpt', 'wpautop' );
    }
}
add_action( 'wp_head', 'remove_auto' );