Wordpress使用DWQA插件限制类别插件

时间:2014-05-26 09:39:44

标签: wordpress wordpress-plugin

我的环境: 使用DWQA插件和自定义限制类别插件来使用DWQA插件

问题: 我已经为DWQA而不是WP帖子定制了“限制类别”插件。 现在问题是当我以限制类别设置为category2的权限登录用户时,它无法为我显示任何内容。

要设置类别过滤器限制类别,请使用以下代码:

add_filter( 'pre_get_posts', array( &$this, 'posts_query' ) );

    public function posts_query( $query ){          
        if ( $this->cat_list !== '' ) {
            // Build an array for the categories
            $cat_list_array = explode( ',', $this->cat_list );    

            // Make sure the posts are removed by default or if filter category is ran
            if ( ! isset( $_REQUEST['cat'] ) )      
                $query->set( 'category__in', $cat_list_array );
            elseif( isset( $_REQUEST['cat'] ) && $_REQUEST['cat'] == '0' )
                $query->set( 'category__in', $cat_list_array );
        }    

        return $query;  
    }

如果我使用category__not_in代替category__,则所有帖子都会显示。

1 个答案:

答案 0 :(得分:0)

我已通过更改以下代码解决了这个问题

public function posts_query( $query ){          

        // Build an array for the categories
        $cat_list_array = explode( ',', $this->cat_list );   


   $taxquery = array(
    array(
        'taxonomy' => 'dwqa-question_category',
        'field' => 'id',
        'terms' => $cat_list_array,
        'operator'=> 'NOT IN'
    )
);

$query->set( 'tax_query', $taxquery );