X

Restringir Autores a Visualizar Apenas Posts Criados por Eles

Snippets por IsItWP

Você quer restringir autores a ver apenas posts que eles criaram no painel de administração? Embora provavelmente exista um plugin para isso, criamos um snippet de código rápido que você pode usar para restringir autores a ver apenas posts que eles criaram no WordPress.

Instruções:

Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou a um plugin específico do site:

function posts_for_current_author($query) {
        global $pagenow;
 
    if( 'edit.php' != $pagenow || !$query->is_admin )
        return $query;
 
    if( !current_user_can( 'manage_options' ) ) {
       global $user_ID;
       $query->set('author', $user_ID );
     }
     return $query;
}
add_filter('pre_get_posts', 'posts_for_current_author');

Observação: Se esta é a sua primeira vez adicionando snippets de código no WordPress, consulte nosso guia sobre como adicionar snippets de código corretamente no WordPress, para não quebrar acidentalmente seu site.

Se você gostou deste trecho de código, considere conferir nossos outros artigos no site, como: 15 melhores ferramentas de marketing de conteúdo e como criar um formulário de contato no WordPress.

Comentários   Deixe uma resposta

  1. Como faço para que ele mostre apenas posts de autores atuais, mas também mostre posts de outros autores que são definidos manualmente pelo ID, no meu caso é o ID de usuário 3, eu quero que todos os autores vejam

    1. Olá Patrick, uma solução simples é criar uma página protegida por senha para seus autores e exibir postagens de todos os autores nesta página.

  2. Olá Chard, como se isso for usado para uma página apenas, não para posts, obrigado, preciso do seu feedback em breve

    1. Uma página no WordPress é um tipo de post. Dito isso, você pode precisar mudar 'edit.php' na linha 4 para 'edit.php?post_type=page'.

  3. você pode me ajudar com o código para restringir autores a verem apenas a categoria que eles criaram.
    Obrigado

  4. Uldis Zalcmanis July 26, 2012 at 2:11 am

    existe alguma maneira de restringir o autor de um comentário a ser o único que pode ver o comentário? Eu sei que parece um absurdo – não pergunte 🙂 Eu realmente preciso disso! Obrigado antecipadamente.

  5. Muito obrigado Kevin!!

    1. Sem problemas, fico feliz em ter ajudado.

  6. Cliff Paulick May 22, 2012 at 9:07 am

    Além disso, isso funciona apenas para posts ou também para páginas?

  7. Usando WP 3.3.1 e isso não está funcionando. Existe uma atualização para o código? Obrigado.

  8. Ernest, eu ousaria adivinhar que você substituiria:

    if( !current_user_can( ‘manage_options’ ) ) {

    por:

    if( !current_user_can( ‘level_1’ ) ) {

    Qualquer pessoa com uma função superior a Colaborador seria capaz de ver todos os posts.

  9. Olá, este é um ótimo snippet! Como posso alterar o código para ter esse efeito para a função de usuário “Colaboradores”?

  10. Isso funcionou como descrito. Mas, quando o removi do functions.php, não consegui ver nenhum post quando logado como qualquer pessoa que não fosse um administrador. ???

    1. Desculpe. Parece que pode ter sido um problema com outra coisa. Parece funcionar bem agora.

      1. Olá Chad  Legal, fico feliz em ver que você conseguiu resolver as coisas.

  11. Ótimo trecho, obrigado. Você sabe de alguma forma de restringir a visibilidade dos títulos do submenu por ID de usuário? Ou seja, o autor de uma postagem que é de custom_post_type A, só vê o submenu para custom_post_type A enquanto os outros submenus de custom_post_type ficam ocultos?

    1. Olá Craig, fico feliz que você goste do trecho. Em relação ao submenu, este trecho deve resolver isso para você. http://wpsnipp.com/index.php/functions-php/remove-sub-menu-dashboard-items/

  12. Obrigado por isso 😉 

    Funciona para todas as classes de usuários (Autores, Editores etc.)? 

    1. Este trecho exibirá apenas as postagens criadas por esse usuário, devendo funcionar para todos. Portanto, se você tiver um usuário que não criou nenhuma postagem, ele não deverá ver nada na visualização de administração de postagens.

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!