Na WPBeginner, normalmente personalizamos as funções de usuário em nossos sites. Descobrimos que, ao permitir que os usuários executem apenas as tarefas necessárias para suas funções, você reduz a chance de erros e aumenta a segurança do site.
Alguns de nossos leitores perguntaram se é possível limitar os autores a ver e editar somente suas próprias publicações em seus blogs WordPress com vários autores. Por motivos de privacidade, eles preferem que seus colaboradores não vejam as postagens de outros autores até que elas sejam publicadas.
Bem, isso é definitivamente possível e, neste artigo, mostraremos como limitar facilmente os autores a visualizar e gerenciar apenas suas próprias postagens no painel do WordPress.
Por que limitar os autores às suas próprias publicações?
Por padrão, seu site WordPress mostrará todos os posts e páginas a todos os usuários, independentemente da função do usuário na área de administração. Se você for autor, editor, colaborador ou administrador, poderá visualizar todos os artigos.
Isso geralmente não é um problema se os autores fizerem parte da sua empresa ou equipe.
Entretanto, limitar as pessoas a visualizarem suas próprias publicações é útil em determinadas situações. Por exemplo, se você administra um site com vários autores, pode ser útil impedir que os autores vejam os artigos de outros escritores na revisão.
Dito isso, vamos dar uma olhada em como você pode limitar os autores a visualizar suas próprias postagens no administrador do WordPress. Aqui estão os tópicos que abordaremos neste artigo:
Limitando os autores a suas próprias publicações usando um plug-in
Usando um plug-in do WordPress, você pode facilmente permitir que os autores vejam apenas suas próprias postagens sem editar o código.
Para este tutorial, usaremos o plug-in PublishPress Permissions. Trata-se de um plug-in gratuito que permite gerenciar as permissões do WordPress e funciona imediatamente para limitar os autores aos seus próprios artigos.
Há também uma versão premium disponível no pacote PublishPress Pro, que oferece mais configurações de permissão, como quem pode acessar a biblioteca de mídia. No entanto, você pode começar com a versão gratuita.
Primeiro, você precisará instalar e ativar o plug-in PublishPress Permissions. Para obter mais detalhes, você pode seguir nosso guia sobre como instalar um plug-in do WordPress.
Quando o plug-in estiver ativo, ele limitará automaticamente os autores e editores para que eles vejam apenas suas próprias postagens na área de administração do WordPress.
Por exemplo, se você estiver conectado como administrador e acessar Posts ” All Posts em seu painel, verá todos os posts.
No entanto, se você fizer login na área de administração do WordPress a partir da conta de um autor, perceberá que somente as postagens criadas pelo autor estarão visíveis.
Você não poderá ver as mensagens escritas por outros usuários.
Agora, e se você quiser que seus editores possam acessar todas as postagens para que possam revisá-las? Vamos ver como você pode fazer isso.
Permitir que os editores visualizem todas as postagens
O problema com o método acima é que ele só permite que os administradores visualizem todas as postagens.
Muitos sites do WordPress têm editores responsáveis pela revisão de artigos enviados por outros autores e colaboradores convidados. O uso desse plug-in restringirá os editores apenas às suas próprias postagens.
No entanto, você pode permitir que os editores revisem o conteúdo de diferentes autores usando um plug-in como o plug-in PublishPress Capabilities ou adicionando código aos arquivos de tema do seu site. Mostraremos a você os dois métodos.
Uso do plug-in PublishPress Capabilities
O PublishPress Capabilities é outro plug-in criado pelo PublishPress. Para fins deste tutorial, usaremos a versão gratuita. Há também uma versão profissional que você pode obter ao assinar uma conta do PublishPress Pro.
Primeiro, você precisará instalar e ativar o plug-in PublishPress Capabilities em seu site do WordPress. Você pode seguir nosso guia passo a passo sobre como instalar um plug-in do WordPress.
Depois que o plug-in estiver ativo, vá em frente e clique em Capabilities (Capacidades ) no menu de administração do WordPress. Isso abrirá a página “Role Capabilities” (Recursos de função), na qual você pode alterar as permissões para diferentes funções de usuário.
Em seguida, selecione a função de usuário que deseja editar no menu suspenso no canto superior esquerdo.
Depois de selecionar a função “Editor”, você precisará certificar-se de que a caixa de seleção “Editar outros” esteja ativada nas configurações de Recursos de edição.
Isso permitirá que os editores editem outras postagens.
Depois disso, role para baixo até a seção Additional Capabilities (Recursos adicionais) e verifique se a caixa de seleção “list others posts” (listar outras publicações) está ativada.
Dessa forma, qualquer pessoa com a função de editor poderá ver as publicações de outros autores.
Agora, salve suas configurações e visualize a seção Posts no seu site fazendo login como editor. Se você conseguir visualizar e editar as publicações de outros autores, isso significa que as configurações foram definidas corretamente.
Adição de código personalizado ao seu tema
Outra maneira de permitir que os editores visualizem todas as postagens é adicionar um código personalizado aos arquivos do tema. No entanto, não recomendamos esse método para iniciantes, pois ele envolve a edição de código e pode danificar seu site.
Para começar, os usuários avançados podem adicionar manualmente esse código ao arquivo functions.php do tema, mas recomendamos o uso de um plug-in de snippet de código como o WPCode.
Depois de instalar e ativar o plug-in WPCode, você precisa ir até a página Code Snippets ” + Add Snippet no painel do WordPress.
Uma vez lá, passe o cursor do mouse sobre ‘Add Your Custom Code (New Snippet)’ e clique no botão ‘+ Add Custom Snippet’ que aparece.
Isso abrirá uma página na qual você poderá adicionar um snippet de código personalizado. Primeiro, você deve dar ao snippet um título que descreva o que ele faz, como “Permitir que os editores visualizem todos os posts”.
Depois disso, você precisa colar o seguinte trecho de código no painel Code Preview (Visualização de código):
function posts_for_current_author($query) {
global $pagenow;
if( 'edit.php' != $pagenow || !$query->is_admin )
return $query;
if( !current_user_can( 'edit_others_posts' ) ) {
global $user_ID;
$query->set('author', $user_ID );
}
return $query;
}
add_filter('pre_get_posts', 'posts_for_current_author');
Em seguida, certifique-se de escolher o tipo de código “PHP Snippet” no menu suspenso.
Por fim, certifique-se de ativar a configuração “Active” (Ativo) e, em seguida, clique no botão “Save Snippet” (Salvar snippet) para armazenar e ativar o código.
Esse código permite que qualquer usuário com capacidade de editar as postagens de outros visualize todas as postagens. Isso significa que os editores e administradores poderão ver todas as postagens. Os usuários com outras funções, como colaboradores ou autores, verão apenas suas próprias postagens.
Para obter mais detalhes, consulte nosso guia sobre como adicionar código personalizado no WordPress sem quebrar nada.
Se estiver usando funções de usuário personalizadas em seu site, é preciso ter em mente que os usuários que podem editar publicações adicionadas por outros usuários também poderão vê-las listadas no painel.
Bônus: Limitar os autores a visualizar publicações ou páginas específicas
Você também pode limitar autores, editores, colaboradores e outras funções de usuário a visualizar, editar e excluir determinados posts e páginas do blog.
Usando o plug-in PublishPress Permissions, você pode decidir facilmente quais posts e páginas específicas as pessoas podem visualizar no painel do seu site.
Para começar, instale e ative o plug-in PublishPress Permissions em seu site. Você pode consultar nosso tutorial sobre como instalar um plug-in do WordPress.
Digamos que você queira que um artigo específico seja editado apenas pelo editor do site e por mais ninguém.
Para fazer isso, você pode editar essa postagem. Quando estiver no editor de blocos do WordPress, basta rolar a tela para baixo até a meta-caixa “Permissions: Edit this Post”.
Em seguida, você deverá clicar no menu suspenso de todas as outras funções de usuário e escolher a opção “Blocked” (Bloqueado). Por padrão, a permissão será definida como “padrão: Sim”, em que todos podem editar a publicação.
Depois disso, certifique-se de deixar a configuração do editor na opção “Enabled” ou “default: Yes”. Depois de definir as permissões, certifique-se de atualizar sua postagem no blog.
Guias especializados sobre como alterar os recursos de função do usuário no WordPress
Esperamos que este artigo tenha ajudado você a aprender como limitar os autores às suas próprias publicações na área de administração do WordPress. Talvez você queira ver outros artigos relacionados à alteração dos recursos das funções de usuário do WordPress:
- Como adicionar ou remover recursos às funções de usuário no WordPress
- Guia para iniciantes sobre funções e permissões de usuário do WordPress
- Glossário: Permissões de usuário
- Como permitir que os colaboradores editem suas publicações no WordPress após serem aprovados
- Como permitir que os editores editem apenas determinadas páginas no WordPress
- Como impedir que os autores excluam publicações no WordPress
- Como permitir que os autores revisem as postagens publicadas no WordPress
- Como restringir o acesso à biblioteca de mídia aos uploads do próprio usuário no WordPress
- Como permitir que os usuários do blog moderem comentários no WordPress
- Como permitir que os usuários editem seus comentários no WordPress
Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no Facebook.
Abu-Bakr Sediq
Hello there, I really enjoy this website! I have a question. How to rescrict (limit, Hide) specific options or feature while Author Post New Product or Add News post. To be more clear; How to limit user from some option in “Add New Post” while publishing post. Sorry for my very bad English
WPBeginner Support
If you want to limit the options for a post’s author based on their role, you would want to take a look at our guide below!
https://www.wpbeginner.com/beginners-guide/wordpress-user-roles-and-permissions/
Administrador
Lee
Hi there!
Thank you for this great article.
Can I use the Permissions plug in without the Capabilities plug in?
Or does the capabilities plug in work as a ‘base’ for the Permissions one, and they must be used together?
WPBeginner Support
You can use one without the other, they modify different options available to the different user levels.
Administrador
lionel
what happens when I remove the plugin? will any changes be removed too and will all users go back to the defaults or will those users require special attention to have PublishPress roles removed? thanks!
WPBeginner Support
If you remove the plugin it would revert the settings from the plugin.
Administrador
Eslam Magdy
Thank u so much man!,,, thanks work for me
WPBeginner Support
Glad our article was able to help!
Administrador
Ignazio
You are really great and I congratulate you. If I may, I would like to ask you something. If I wanted to modify this code to make the posts limited in view and edit only to their author as far as drafts are concerned?
WPBeginner Support
For what you are wanting, you may want to modify the role permissions or give permissions, you would want to take a look at our article below on permissions:
https://www.wpbeginner.com/beginners-guide/wordpress-user-roles-and-permissions/
Administrador
Naomi Blindeman
Thank you! Lifesaver!
WPBeginner Support
You’re welcome
Administrador
Dan D
Exactly what I was looking for. No custom code was needed.
WPBeginner Support
Glad our guide was helpful
Administrador
Guto Rockwell
Works like a charm, many thanks
WPBeginner Support
Glad our guide could help
Administrador
Zakaria
Your code working perfectly. Thanks!!!
WPBeginner Support
You’re welcome
Administrador
Noriel
Your recommended plugin is already outdated, any other reliable plugin?
WPBeginner Support
This article was last updated in 2015, we will be sure to look for an alternative and update this article when we are able.
Administrador
Fernando Aureliano
It works for all post types?
WPBeginner Support
If you’re using the plugin you would need to reach out to the plugin’s support for that specific question.
Administrador
Davood Denavi
Does the code mentioned in this article work with all post types? I have some custom post types on a clients site and the plugin worked we do not have time to test the site right now after adding more code and we are trying to allow editors to view all posts.
Thank in advance for your help!
Gulshan Kumar
How to filter out comments according to currently logged in user?
I want to restrict listing of all comments for the contributor. I want to allow showing and moderation option only for those posts which belong to them.
Rohit Mewada
Same question, how hide comment also from other user.
Brandon Evans
Does this plugin include hiding of “pages” from non-authors? I see everything listed here says posts but would pages be included in that? Our site uses pages more than posts.
Ravijit
How to hide comments from contributers in wordpress dashboard ???
Tom
Hey there,
is there a way to exclude specific Post Types from that query ?
regards Tom
Sam
What if i have multiple admin and i want admin’s can see only their posts ??
barisla
very useful thanks
Charlie
Works great. The other problem I have is that it still displays the post count for other users. So for example there are 105 published posts even if the current user only has 2 published posts.
Any idea how to rectify this?
Sherwin Ramnarine
I realise this is months later so I guess the reply is really for others with the same problem. Try adding this to your functions.php. Think I got it on Wordpress.StackExchange.com >>
// Remove Post Counts
// Create a specific hook
add_filter(“views_edit-post”, ‘custom_editor_counts’, 10, 1);
function custom_editor_counts($views) {
// var_dump($views) to check other array elements that you can hide.
unset($views[‘all’]);
unset($views[‘publish’]);
unset($views[‘pending’]);
unset($views[‘trash’]);
return $views;
}