我在我的网站上有一个部分,我只想显示登录用户的私人帖子,但循环返回所有帖子(私人和发布),是否可以更改?我的循环中有下一个代码:
global $listingsearch, $listing_query, $wp_query;
$view = listingpress_get_listing_search_view();
$desktop_view = $view[\'d\'];
还有这个
if ( $wp_query->have_posts() ) :
还有这个
while ( $wp_query->have_posts() ) :
$wp_query->the_post();
SO网友:Vlad Olaru
您需要使用pre_get_posts
action. 此代码将帮助您开始:
function show_only_private_post_for_logged_in_users( $query ) {
if ( ! $query->is_main_query() || is_admin() ) {
return;
}
if ( is_user_logged_in() ) {
$query->set( \'post_status\', \'private\' );
}
}
add_action( \'pre_get_posts\', \'show_only_private_post_for_logged_in_users\' );
它只会影响主查询,而不会影响WordPress管理端。