
Neste post iremos ver uma das formas de consultar todos os usuários com a permissão de autor “publish_posts”.
Por padrão o WordPress possuí algumas funções definidas para os usuários cadastrados. Elas são:
Alguns plugin podem adicionar novos tipos de função flexibilizando ainda mais a administração do painel do WordPress.
Primeiro montamos um array com a função que desejamos, no nosso exemplo seria “publicar post”.
$roles__in = [];
foreach( wp_roles()->roles as $role_slug => $role )
{
if( ! empty( $role['capabilities']['publish_posts'] ) )
$roles__in[] = $role_slug;
} Agora montamos a “query”:
if( $roles__in )
$users = get_users( [ 'roles__in' => $roles__in, 'fields' => 'ids' ] ); Você também pode utilizar a função get_users de forma mais direta:
get_users( array(
'role__in' => array('administrator', 'editor', 'author'),
) ); A role option”” é simples, a estrutura é organizada pelo nome da função que armazena o nome no valor da chave ‘nome’. Os recursos são armazenados como uma matriz no valor da chave ‘capacidade’.
array (
'rolename' => array (
'name' => 'rolename',
'capabilities' => array()
)
) Arquivo: wp-includes/class-wp-roles.php
Recuperando a função do autor dentro do loop de um Post
Adicione no arquivo functions.php do seu tema:
function get_author_role()
{
global $authordata;
$author_roles = $authordata->roles;
$author_role = array_shift($author_roles);
return $author_role;
} Exemplo de utilização:
if(have_posts()) : while(have_posts()) : the_post();
echo get_the_author().' | '.get_author_role();
endwhile;endif;
Negar /.env no nginx parece resolvido até alguém pedir /wp-content/uploads/.env ou backup.sql. As regras que testei e os furos que…
O Search Console marca suas páginas 2, 3 e 4 como alternativas da página 1? Ajuste a tag canônica do…
Um módulo de terceiro plantou um banner no topo da loja e você não quer desinstalar nada: tire o bloco…
Importou o banco de produção e o site pula para o domínio antigo? Rode o UPDATE em core_config_data, limpe o…
Seu catch trata pedido inexistente e banco fora do ar do mesmo jeito. Veja como criar exceção customizada em PHP…
O form do admin salva mas abre em branco na edição: veja o getData() indexado pelo id da entidade e…