今天,有用户在我们的 WordPress 中文社区问答区提问说,WordPress 如何获取指定用户角色的文章,还问到 WordPress 数据库里是怎么把 user 和 role 关联起来的?他没找到对应的关系表,其实我们换个思路这个需求实现起来是很简单的,思路就是先使用 get_users()函数获取到指定角色用户的信息,然后提取用户的 ID 组成数组储存到一个变量,然后再使用 wp_query()类查询中的 author_in 参数来查询文章就行了,演示代码如下,如果有需要的朋友可以拿走尝试一下。
<?php
$authors = get_users(array('role'=>'author'));//获取到指定用户角色的所有用户的对象;
$author_id_arr = array();//赋值一个空数组变量用来储存指定用户角色用户的ID
if($authors){
foreach($authors as $author){
$author_id_arr[]=$author->ID;
}
}//循环指定用户角色的所有用户的对象,获取到用户ID储存到上面的空数组变量$author_id_arr
$args = array(
'author__in'=>$author_id_arr,
'post_type'=>'post',
);
// 自定义查询
$the_query = new WP_Query( $args );
// 判断查询的结果,检查是否有文章
if ( $the_query->have_posts() ) :
// 通过查询的结果,开始主循环
while ( $the_query->have_posts() ) :
$the_query->the_post(); //获取到特定的文章
/** 要输出的内容,如标题、日期等比如<?php the_title();?> */
endwhile;
endif;
// 重置请求数据
wp_reset_postdata();
?>
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!