如何指定“remove_filter('the_content','wpautop');”对于wordpress中的某些类别?

时间:2014-01-23 19:46:03

标签: php wordpress

我使用以下代码来应用remove_filter('the_content','wpautop');某些类别,但没有工作

remove_filter( 'the_content', 'wpautop');     的add_filter( 'the_content', 'my_custom_formatting');

function my_custom_formatting($content){

global $post; $post_id =  $post->ID; 
$post_categories = wp_get_post_categories( $post_id );
            $cats ="";
            $cats = array();

        foreach($post_categories as $c){
               $cat = get_category( $c );
               $cats['cat_id'][] = $cat->cat_ID;
         }

        $catarray=array(353, 181, 7, 176, 4, 12);
        if( count($cats['cat_id']) > 0){
           $intersectcommn_count =  count(array_intersect($catarray, $cats['cat_id']));
           if($intersectcommn_count > 0){


      return wpautop($content);

           }

} }

1 个答案:

答案 0 :(得分:0)

对不起,这不是一个确切的答案,但这里是一个单一类别的解决方案,可能会引导您走上正确的道路。它从名为“mycat”的类别中删除了wpautop。我发现你的帖子正在寻找这样的解决方案,解决了,并且认为我会分享它,因为我没有在其他地方看到它(虽然我确定其他人必须使用它)。

将此添加到functions.php(或根目录的custom.php)。

//remove wpautop from "mycat" pages
function remove_autop_for_category( $content )
{
    $category = get_the_category(); 
    'mycat' === $category[0]->cat_name && remove_filter( 'the_content', 'wpautop' );
    return $content;
}
add_filter( 'the_content', 'remove_autop_for_category', 0 );