Show current user posts only

时间:2019-09-27 作者:Aman

我试图只向前端用户显示他们创建的帖子。example.com/all-releases

像User-1一样,只能看到他的帖子,而不能看到User-2的帖子或admin帖子。

我尝试了前一个问题中的各种功能代码,但最新的WordPress版本不支持任何功能代码。

让我告诉你情况:该用户是一个登录用户。立柱由重力形状创建。

1 个回复
SO网友:Crisoforo Gaspar

<?php
    $query = new WP_Query([
        \'author\' => get_current_user_id(),
    ]);

while ( $query->have_posts() ) {
    $query->the_post();
    the_title();
}
    wp_reset_postdata();
?>
在上面的示例中,我们使用WP_Query 查看参考指南中的其他参数,如不同的帖子类型,如是否仅获取页面、帖子或自定义帖子类型,以及要显示的元素数。

还应了解wp_reset_postdata 如上例所示$query->the_post()

Note: 如果在查询中使用\\u post(),则需要在之后运行wp\\u reset\\u postdata(),以使模板标记再次使用主查询的当前post`

您还可以中断上面的代码,在每个HTML标记之间添加其他HTML标记,如:

while( $query->have_posts() ) : $query->the_post(); 
?>
<h2><?php the_title(); ?><h2>
<div><?php the_content(); ?>
<?php endwhile; wp_reset_postdata(); ?>
上述示例使用get_current_user_id 它假设有一个用户登录,因为它返回零。如果没有用户登录,您可以使用一些逻辑来显示该场景中的不同数据。