我正在尝试仅显示当前用户在前端创建的帖子。也就是说,当前登录的用户应该只能查看他/她在网站上创建的帖子,包括在博客档案中我想只显示当前用户的帖子。任何有链接的人都应该能够查看帖子。 我尝试了下面的代码,但这也限制了对当前用户没有创建的页面的访问。我只需限制访问帖子。
function exclude_other_users_posts( $query ) {
if( !is_user_logged_in() ) {
// guests cannot read private posts
// and we exclude all public posts here
// so guests can read nothing :-)
$query->set( 'post_status', 'private' );
$query->set( 'perm', 'readable' );
} elseif( !current_user_can('read_others_posts') )
$query->set( 'author', get_current_user_id() );
}
add_action( 'pre_get_posts', 'exclude_other_users_posts' );
答案 0 :(得分:0)
您可以在要显示帖子的php文件中使用类似的内容。
global $current_user;
get_currentuserinfo();
$authorID = $current_user->ID;
$args = array(
'post_type' => 'post',
'posts_per_page' => -1,
'author' => $authorID
);
$wp_query = new WP_Query($args);
然后你可以让你的循环显示你的帖子。