0

比如我要查询所有管理员角色的文章。

还有数据库里是怎么把user和role关联起来的?没找到对应的关系表。先谢了!!

撰写回答

无意义的回答将很快被删除,账号将被禁止发言。 提交回答

1 个回答

WordPress日记
超哥
行业大佬
行业大佬
时间: 2021年11月23日

换个思路就很简单了,你先获取到网站所有指定用户角色的用户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(); 
        ?>