限制每个作者角色(不包括管理员)在主页中发布的帖子

时间:2016-01-24 作者:maus

我的站点中有多个作者,我只想显示其中一个latest 每个人的帖子,不包括管理员。因此,如果例如:

admin1发布了4篇文章,admin2发布了3篇文章,author1发布了2篇,author2发布了7篇,其中admin1发布了4篇,admin2发布了3篇,其他每个发布了1篇。有什么提示吗?

<?php 
get_header(); 
//Displaying latest post per author on front page 
if(have_posts()) : 

    get_template_part(\'content\', \'postlist\'); 

else : 
    get_template_part(\'content\', \'none\'); 
endif;

get_footer();
?>

1 个回复
SO网友:terminator

如果我理解你的问题,那么这肯定会奏效。

<?php 
get_header();

$users = get_users( array( \'who\' => \'author\' ) );//get all the users with author role in an array


foreach ( $users as $user ) {   //travers the array

    if($user->caps[\'administrator\']==1)continue;     // skip the user if user also have administrative capabilities
$query = new WP_Query( array(
                            \'posts_per_page\'=>1, 
                            \'author\' => $user->ID
                            ) 
                    );
if($query->have_posts()):while($query->have_posts()):$query->the_post();

get_template_part(\'content\', \'postlist\'); 

endwhile;

else:
get_template_part(\'content\', \'none\'); 
endif;

} 

get_footer();
?>

相关推荐

GET_POSTS查询大约需要40秒来执行

我在get\\u帖子中有一个元查询,它需要花很长时间才能完成。它工作得很好,但只是时间太长了。我有一个名为event. 在每个event 发布后,有自定义元数据:post\\U sort\\U日期(事件日期YmdHis 格式,用于排序)我需要做的是获取下一个事件,该事件相对于$year 和$month 变量。所以如果$year = 2021 和$month = 10 (2021 10月)然后应该在2021 11月或之后找到第一个事件。我下面的查询很好,但很慢。执行大约需要40秒,我不知道为什么。$next