首先,对不起标题,我不知道如何用几句话来解释!
我有一个查询,它从具有元键的 main_query 中删除帖子/页面。
但是,在特定页面(首页)上,我也想按单个类别(首页新闻)进行过滤。我尝试添加下面的代码,但它中断了。
任何人都可以帮我完善这个吗?
为清楚起见,我想通过 meta_keys 全局和 meta_keys 以及一个模板的类别进行过滤,front-page.php
`function hide_private_posts($查询){
// If user isn't logged in, hide all private posts / pages
if( !is_user_logged_in() ) {
if ( $query->is_main_query() ) {
$query->set( 'meta_query', array(
array(
'key' => 'smartPrivate',
'value' => 'smartPrivate_loggedIn',
'compare' => '!='
),
array(
'key' => 'smartPrivate',
'value' => 'smartPrivate_loggedInMentors',
'compare' => '!='
)
));
}
// If user is logged in but a learner, show logged in posts / pages
} else if( is_user_sso_role( array('learner') ) ) {
if ( $query->is_main_query() ) {
$query->set( 'meta_query', array(
array(
'key' => 'smartPrivate',
'value' => 'smartPrivate_loggedInMentors',
'compare' => '!='
)
));
}
} // Else don't filter posts and pages
if ( is_front_page() ) {
query_posts( $query . '&category_name=front-page-news' );
}
return $query;
}
add_filter('pre-get-posts' , 'hide_private_posts');`