Como obter todos os usuários com resources de function do autor?

Eu preciso buscar a lista de todos os usuários que são Autores (com resources de Autor)

O get_users permite obter usuários com funções, mas se os usuários são filtrado com function de autor, ele ignora os usuários com administrador de funções e editor (mas também podem criar postagens).

Então, eu preciso de outra maneira de buscar todos os usuários que tenham capacidade do Papel do Autor (eles podem ser do Administrador, do Editor ou de qualquer outra function personalizada com a capacidade dos Autores)

Para ser mais preciso – Precisa de todos os usuários com capacidade “publish_posts”.

Solutions Collecting From Web of "Como obter todos os usuários com resources de function do autor?"

Aqui está uma maneira de coletar papéis com o recurso publish_posts :

 $roles__in = []; foreach( wp_roles()->roles as $role_slug => $role ) { if( ! empty( $role['capabilities']['publish_posts'] ) ) $roles__in[] = $role_slug; } 

e então podemos consultar usuários com essas funções:

 if( $roles__in ) $users = get_users( [ 'roles__in' => $roles__in, 'fields' => 'ids' ] ); 

onde talvez precisemos de paginação para uma grande quantidade de usuários.

Também é possível controlar alguns usuários e verificar com:

 user_can( $user, 'publish_posts' ) 

Veja aqui .

Basicamente, existem 3 funções que têm o direito de publicar publicação – “Administrador”, “Editor” e “Autor”, a menos que você esteja adicionando funções personalizadas.

Então você pode fazer é especificar uma matriz desses 3 na sua function get_users. Algo assim:

 get_users( array( 'role__in' => array('administrator', 'editor', 'author'), ) ); 

Isso lhe dará os detalhes do usuário com essas funções na matriz, que você pode usar como conveniência.

Espero que isto ajude.

obrigado

Use get_role() para obter resources de qualquer function do usuário em seu código.