WordPress 怎么根据角色名查询对应的文章,比如我要查询所有管理员角色的文章。还有数据库里是怎么把 user 和 role 关联起来的?没找到对应的关系表。
换个思路就很简单了,你先获取到网站所有指定用户角色的用户 ID,然后带入到 wp_query 类查询输出就行了。演示代码如下:
<?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主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!