我的环境: 使用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__,则所有帖子都会显示。
答案 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 );