O CanalWP já te ensinou algumas coisas sobre como personalizar o Front-End do seu site. Agora vamos te mostrar algumas dicas de como organizar melhor o Dashboard ou Painel Administrativo do WordPress. A dica de hoje vai te ajudar a exibir na listagem de posts, apenas aquelas postagens feitas pelo usuário corrente – o usuário logado.
Quando você tem vários autores e editores, que estão sempre criando e atualizando posts, a sua listagem vai ficar enorme e muito bagunçada. Também é muito importante garantir que cada autor tenha acesso apenas aos posts pelo qual escreveu, sem que possa alterar – muitas vezes por engano, o post feito por outro usuário.
Para fazer esse ajuste no Painel você não vai precisar instalar nada, nenhum plugin. Basta apenas acessar o arquivo functions.php do seu tema e colar o trecho de código que vai fazer a mágica acontecer. Para editar o arquivo você pode acessá-lo diretamente pelo Painel do WordPress ou pelo programa de edição de código que você preferir.
Exibir Posts do Usuário Logado
Acessar o functions.php pelo Painel
Já logado com seu usuário e senha você deve acessar pela aba lateral esquerda Aparência > Editor. Assim que a nova página for exibida, escolha através dos arquivos listados do lado direito o functions.php.
Acessar o functions.php por um programa de Edição de Código
O Dreamweaver e o Aptana Studio são editores de código PHP, HTML, CSS e JavaScript muito utilizados hoje, mas caso você utilize algum outro não tem problema. O caminho para o functions.php é o mesmo.
Após acessar o FTP e consequentemente os arquivos do seu site WordPress você deve acessar a seguinte trilha de pastas wp-content > themes > TEMA DO SEU SITE > functions.php.
O Código
Agora que já estamos dentro do functions.php, cole alguma das opções de código PHP que seguem abaixo:
Exibir Lista Completa de Posts Apenas para Administrador
function posts_for_current_author($query) { global $user_level; if($query->is_admin && $user_level <= 7) { global $user_ID; $query->set('author', $user_ID); unset($user_ID); } unset($user_level); return $query; } add_filter('pre_get_posts', 'posts_for_current_author');
Exibir Lista Completa de Posts para Administrador e Editor
function posts_for_current_author($query) { global $user_level; if($query->is_admin && $user_level < 5) { global $user_ID; $query->set('author', $user_ID); unset($user_ID); } unset($user_level); return $query; } add_filter('pre_get_posts', 'posts_for_current_author');
Perceba que aquilo que difere um código do outro são os seguintes trechos:
if($query->is_admin && $user_level <= 7)
Aqui ele verifica o nível do usuário. Se o nível for menor igual a 7, a regra de exibir os posts dos respectivos autores é aplicada.
if($query->is_admin && $user_level < 5)
Caso seja nível menor que 5, a regra é aplicada apenas para o tipo Autor. Assim, Editor e Administrador podem visualizar todos os posts criados.
Depois de digitar ou colar o respectivo código, não esqueça de Salvar o arquivo com as mudanças realizadas.
Olha só um exemplo de Listagem de Posts após o código ter sido inserido:
Agora você tem de acessar a Dashboard do WordPress e verificar se o código funcionou como o esperado. Primeiro adicione um usuário do tipo Autor ou Author e crie uma nova postagem. Em sua listagem de posts deve aparecer apenas o post criado anteriormente por ele. O usuário desse tipo consegue enxergar quantos posts há no total, ou seja, o número total. Porém, não consegue acessá-los e também não são exibidos em sua respectiva listagem.
Depois você deve acessar como usuário do tipo Admin, presumimos que seja o seu usuário principal. Na listagem do usuário de tipo Administrador ou Administrator, devem aparecer listados todos os posts do site, independente de quem os criou. O admin também consegue acessá-los e editá-los normalmente, pois continua com total acesso as postagens.
Xii, deu erro!
Calma, se deu erro é porque possivelmente você digitou algo errado. Verifica linha por linha do código PHP em busca de algum parêntese ou chave que tenha ficado aberto.
Se não aparece mensagem de erro, mas também não mudou em nada a listagem de posts para cada usuário, você deve limpar o cache do seu site WordPress – principalmente se está utilizando algum plugin que armazena o cache, e limpar também o cache do navegador.
Realizar este tipo de ajuste em seu Painel Administrativo WordPress torna seu site mais personalizado, organizado e seguro. Por isso, se mais de um tipo de usuário escreve ou tem acesso ao seu site/blog, é importante você definir limites para evitar problemas futuros.
Se você gostou desse artigo considere compartilhar nas redes sociais. Siga-nos nas redes sociais para acompanhar mais artigos como esse. Se de alguma forma este artigo lhe foi útil deixa seu comentário abaixo para podermos saber a sua opinião.
Ferramentas WordPress Veja Mais Ferramentas
Lucky Table of Content
Ninja Forms
WP Rocket
O código funcionou perfeitamente, mas teria alguma forma de cada autor acessar e poder editar seus próprios posts ? Agradeço desde já!
Olá Leticia,
Nesse caso eu recomendo o PublishPress e seus addons.
Escrevi um artigo sobre ele e seus addons aqui https://www.canalwp.com/plugins-wordpress/fluxo-editorial-autor-wordpress/.
Com esse plugin você pode definir e limitar diversas opções e criar um fluxo de edição para seus autores.
Espero que ajude.
Abraço.
Deu certo, porém os campos ACF somem quando eu abro um novo Post.
Como administrador, não… somente nos outros perfis que somem.
Olá Mateus,
Toda categoria já vem com seu feed RSS próprio.
É só você visitar sua categoria assim > http://www.seudominio.com.br/nome-da-sua-categoria/feed/.
Só adicionar o /feed/ na página da categoria que você vai ser capaz de visualizar o feed.
Aí é só criar um botão ou colocar em uma imagem com esse link aí.
Abraço.
boa noite, assim eu queria criar assim, vai ter a pagina de login e os tipo de usuarios com limiitaçoes por tipos de usuarios por exemplo, o usuario free pode postar ate 10 posts por mes o intermediario pode postar ate 30 posts por mes e o usuario master pode postar quantos quiser, ai eu queria criar um logim por tipo de usuario por exemplo o usuario fulano logou la e ele é free ai vai aparecer a limitação dele vai aparecer os posts “somente dele” no painel administrativo e tals tem como fazer?? se tiver poderia me ensinar? fico… Continue Lendo »