Permitindo que assinantes possam ler posts privados no WordPress

Por estranho que possa parecer, por padrão no WordPress, usuários assinantes não podem ler posts privados. Teve um dia que precisava fazer isso e pesquisei muito até chegar ao plugin do WordPress chamado Members. Ele permite que você possa especificar as permissões de cada nível de usuário (ler, publicar e remover posts, adicionar usuários, etc).

Após instalar o plugin, vá em Usuários > Roles. Na linha do Subscriber (Assinante), selecione a opção Edit. Aparece uma lista enorme de permissões que você pode oferecer para os assinantes. No meu caso, eu apenas selecionei a opção read_private_posts (ler posts privados). Clique em Update Role.

Agora, os usuários assinantes podem ler posts privados, mas os mesmos não estão sendo listados na lista de Posts Recentes… Neste caso, é necessário mexer no código do WordPress em wp-includes/default-widgets.php. No meu caso, na versão 3.3.1 do WordPress, cheguei até a linha 543. A linha filtra os posts que deverão aparecer em Posts Recentes.

Mantive a mesma linha e adicionei alguns códigos a mais. No caso abaixo, caso algum usuário esteja logado, o filtro irá permitir a exibição de posts privados.

silvio

Sobre Silvio Tenfen Junior

Desenvolvedor Web com 5 anos de experiência. Especializado em desenvolvimento de Sites e E-commerces com plataforma Magento. Trabalho também com desenvolvimento de Sistemas, integrações com ERPs, soluções de pagamento (Cielo, Rede, PagSeguro) e gerenciamento de sistemas em ambiente Cloud (Linux, Amazon Web Services).

1 comentário em “Permitindo que assinantes possam ler posts privados no WordPress

  1. Rafael

    Amigo, preciso desse código só que para comentários, para os comentários dos post privado aparecer no widget comentários recentes para usuarios logados, você sabe fazer?

Deixe uma resposta

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">