EXIBIR APENAS OS POSTS DO USUÁRIO LOGADO NO WORDPRESS

O scrip certo 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

Clique 2x para copiar
01
02
03
04
05
06
07
08
09
10
11
12
13
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

Clique 2x para copiar
01
02
03
04
05
06
07
08
09
10
11
12
13
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:

Clique 2x para copiar
1
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.

Clique 2x para copiar
1
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:

Post por autor

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.

AVALIE GORA MESMO!
More from William Freitas

POR QUE O PRIMEIRO LUGAR NO GOOGLE PODE PREJUDICAR SEU ROI

Estar em primeiro lugar no ranking do Google se tornou uma meta de vida para...
Read More

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *