Back-End

6 mar, 2013

Limitando o painel de posts do WordPress aos conteúdos do autor

100 visualizações
Publicidade

Para quem trabalha com blogs multi-autor, com vários profissionais escrevendo matérias diferenciadas e por vezes até em áreas completamente distintas, a área de posts do WordPress (Todos os Posts) facilmente se torna numa selva de conteúdo completamente díspare. Por vezes os próprios autores têm de perder algum tempo no meio de tanto post que não foram eles que escreveram, para encontrarem um rascunho no qual estavam trabalhando há algum tempo. Logicamente, o ideal seria conseguir limitar o painel de posts do WordPress ao conteúdos de cada um dos autores, para que eles não pudessem ver os posts de outros autores, e centrarem suas atenções somente nos seus textos e naquilo que estão criando para o blog.

Os colegas do wpmu resolveram aproveitar uma ideia do wpsnippets e transformar uma pequena porção de código num plugin que permite limitar a zona de posts do WordPress somente aos conteúdos daquele autor em específico. O código deste plugin basicamente verifica se o usuário/autor tem capacidades de administrador. Caso o usuário não seja administrador, ele verá somente os seus artigos no painel de posts do WordPress, tornando mais fácil o processo de identificação dos seus conteúdos e rascunhos. O número de posts publicados e rascunhos manter-se-á o mesmo, embora o usuário só consiga visualizar os seus próprios posts.

Limitando o painel de posts

O código a ser usado para limitar o painel de posts do WordPress é o seguinte:

<?php
/*
Plugin Name: Simplify Post Edit List
Description: Show only the author's posts in the edit list
Version: 0.1

License: GPL
Author: Sarah Gooding
Author URI: http://untame.net
*/

function mypo_parse_query_useronly( $wp_query ) {
    if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) {
        if ( !current_user_can( 'update_core' ) ) {
            global $current_user;
            $wp_query->set( 'author', $current_user->id );
        }
    }
}

add_filter('parse_query', 'mypo_parse_query_useronly' );

?>

Abra um arquivo em branco, copie e cole o código acima indicado, e guarde esse artigo em PHP com um nome tipo “limitador-posts.php”. Dê ao ficheiro o nome que desejar. Depois disso, faça o upload do arquivo para o diretório de plugins do seu WordPress em /wp-content/plugins. Ative o plugin e veja a magia acontecer.

Se realizar o login com uma conta de usuário que não seja administrador, você verá as diferenças no painel:

sem-posts

Este simples plugin é extremamente simples de usar e traz consigo a vantagem de manter as informações e conteúdos de cada autor separadas e individualizadas, para evitar confusões, ou até mesmo autores que editam posts de outros membros indevidamente.

Para facilitar o trabalho, criámos um ficheiro PHP com o plugin que você baixar aqui:

Fazer download do Plugin!