Php wordpress查询按作者角色排序

Php wordpress查询按作者角色排序,php,mysql,wordpress,Php,Mysql,Wordpress,我有不同角色的多个作者,我需要按作者的角色排序文章 例如:有3位作者的角色:管理员、编辑、客户,他们都可以发布文章。 现在,我如何按作者角色排序站点帖子? 第一个管理员帖子 第二位编辑发帖 最后一位客户的帖子???请使用以下代码按用户角色获取帖子: function get_posts_by_role_user($role) { global $wpdb; return $wpdb->get_results( "SELECT ps.* FROM {$wpdb->po

我有不同角色的多个作者,我需要按作者的角色排序文章
例如:有3位作者的角色:管理员、编辑、客户,他们都可以发布文章。
现在,我如何按作者角色排序站点帖子?

第一个管理员帖子
第二位编辑发帖

最后一位客户的帖子???

请使用以下代码按用户角色获取帖子:

 function get_posts_by_role_user($role) {
    global $wpdb;
    return $wpdb->get_results( "SELECT ps.* FROM {$wpdb->posts} ps, {$wpdb->usermeta} ur"
                                ." WHERE    ps.post_type     = 'post'"
                                ." AND      ps.post_status   = 'publish'"
                                ." AND      ur.user_id       = ps.`post_author`"
                                ." AND      ur.meta_key      = 'wp_capabilities'"
                                ." AND      ur.meta_value    LIKE '%\"{$role}\"%'" );
}
声明您的所有角色

  $roles = array('admin','editor','customer');
 foreach($roles as $key => $role  ){
      $user_posts = get_posts_by_role_user($role);
        foreach($user_posts as $spost){ 
          echo $spost->post_title, '<br />';
        }
   }
根据角色循环

  $roles = array('admin','editor','customer');
 foreach($roles as $key => $role  ){
      $user_posts = get_posts_by_role_user($role);
        foreach($user_posts as $spost){ 
          echo $spost->post_title, '<br />';
        }
   }
foreach($key=>$role的角色){
$user\u posts=get\u posts\u by\u role\u user($role);
foreach($user_发布为$spost){
echo$spost->post_title,
; } }

首先,将所有代码粘贴到当前活动主题functions.php文件中。

hey dineshkashera,感谢您提供此解决方案。我很乐意帮助你@elnaz:)