Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Como ocultar postagens protegidas por senha do loop do WordPress

Ao longo dos anos, vários de nossos leitores nos perguntaram se é possível ocultar publicações protegidas por senha em um site. De acordo com nossa experiência, sim, é possível – o WordPress permite que você crie publicações protegidas por senha para reforçar a privacidade.

No entanto, isso tem uma desvantagem. Quando essas publicações aparecerem em seu site, os títulos terão o prefixo “Protected” (Protegido). Isso pode distrair e fazer com que as páginas pareçam menos organizadas. Além disso, quando os visitantes veem esses títulos de publicações, mas não conseguem acessar o conteúdo, eles podem ficar curiosos ou se sentir excluídos.

Ao gerenciar sites WordPress nos últimos 16 anos ou mais, descobrimos maneiras eficazes de remover postagens protegidas por senha do loop do WordPress. Usando uma ferramenta como o WPCode, você pode manter seu site com aparência limpa e simplificada sem comprometer a segurança.

Neste artigo, vamos orientá-lo nas etapas para ocultar postagens protegidas por senha dos loops do WordPress.

How to Hide Password Protected Posts From WordPress Loop

Por que ocultar publicações protegidas por senha no WordPress?

Por padrão, o WordPress exibe uma postagem protegida por senha com seu título e o prefixo “protected”. Os usuários devem digitar a senha para visualizar o conteúdo da publicação.

Esse prefixo de postagem fica visível na página inicial, nos arquivos, nos widgets de postagens recentes e em outras áreas.

Password protected posts displayed on homepage

Se você quiser manter algum conteúdo totalmente privado, isso não é ideal por vários motivos.

Os usuários que não têm senhas ainda podem ver o título da postagem, o que pode ser um problema por si só. Eles também podem tentar obter acesso ao conteúdo com um ataque de força bruta. Como todos nós sabemos, as senhas podem ser decifradas.

Com isso em mente, mostraremos como ocultar suas postagens protegidas por senha do loop do WordPress para que outros usuários não possam vê-las. Aqui está uma rápida olhada em todas as etapas a serem seguidas:

Vamos direto ao assunto!

Etapa 1. Instalar um plug-in de snippet de código

Para fazer alterações específicas em seu site, alguns especialistas em WordPress podem lhe dizer para adicionar um trecho de código personalizado ao arquivo functions.php do seu tema.

Não recomendamos esse método, pois ele não é muito amigável para iniciantes e você corre o risco de danificar seu site. Em vez disso, você pode usar um plug-in de snippet de código, como o WPCode, para fazer o trabalho.

WPCode's homepage

O WPCode é o melhor plugin de snippet de código do mercado. Para obter mais informações sobre o plug-in, fique à vontade para ler nossa análise completa do WPCode.

A melhor parte é que você pode usar a versão gratuita do WPCode para adicionar um trecho de código personalizado ao seu site WordPress.

Portanto, primeiro, instale e ative o plug-in gratuito WPCode. Se precisar de ajuda com o processo, consulte nosso guia sobre como instalar um plug-in do WordPress.

Dica de especialista: Desbloqueie recursos avançados, como histórico completo de revisões, agendamento de código e acesso a mais de 100 trechos de código aprovados por especialistas ao adquirir a versão premium do WPCode.

Etapa 2. Ocultar publicações protegidas por senha no WordPress

Depois de ativar o plug-in, navegue até Code Snippet ” + Add Snippet na área de administração do WordPress.

Em seguida, basta clicar no botão “Add Custom Snippet” (Adicionar snippet personalizado) na seção “Add Your Custom Code (New Snippet)” (Adicionar seu código personalizado (novo snippet)).

Adding custom code in WPCode

Na próxima tela, você precisará escolher o tipo de código para seu snippet personalizado.

Para este tutorial, precisaremos usar a opção “PHP Snippet”.

Choosing PHP Snippet as the code type

Em seguida, você será redirecionado para o editor de snippet de código personalizado.

A partir daqui, você deverá nomear o snippet personalizado primeiro. Recomendamos usar um nome claro, como “Hide Password-Protected Posts” (Ocultar publicações protegidas por senha). Isso facilitará a organização de seus snippets de código personalizados no futuro.

Em seguida, basta adicionar o seguinte código à caixa “Code Preview” (Visualização de código):

1
2
3
4
5
6
7
function wpb_password_post_filter( $where = '' ) {
    if (!is_single() && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

Esse código modifica a consulta enviada ao WordPress usando o filtro posts_where. Ele solicita ao WordPress que busque todos os posts que não tenham uma senha.

Esta é a aparência no editor:

Code preview for hiding password-protected posts

Nesse ponto, você precisará alternar a chave “Inactive” (Inativo) para “Active” (Ativo).

Em seguida, clique em ‘Save Snippet’.

Saving snippet for hiding password-protected posts

Por padrão, o WPCode aplicará automaticamente o trecho de código em qualquer lugar do seu site WordPress.

Agora, se você visitar seu site, verá que as postagens protegidas por senha não são mais visíveis na página inicial, nos arquivos ou em widgets como postagens recentes.

Protected posts hidden

Lembre-se de que você ainda pode visitar a postagem acessando-a por meio de um URL direto.

Dica de bônus: Como permitir o acesso a publicações protegidas para usuários específicos

O exemplo acima oculta as publicações protegidas por senha de todos os usuários. Mas e se você administrasse um site WordPress com vários autores e quisesse que as postagens protegidas pudessem ser visualizadas por usuários com a capacidade de editar postagens privadas?

Basta modificar o código acima com outra tag condicional como esta:

1
2
3
4
5
6
7
function wpb_password_post_filter( $where = '' ) {
   if (!is_single() && !current_user_can('edit_private_posts') && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

Neste exemplo, verificamos se um usuário não pode editar as postagens protegidas por senha e mostramos apenas as postagens que não têm senhas.

Ao fazer isso, todos os usuários com funções de administrador e editor verão as publicações protegidas por senha no front-end do seu site.

Você está cansado de personalizar e gerenciar seu site WordPress sozinho? A boa notícia é que você não precisa fazer isso!

Com o serviço de manutenção e suporte do WordPress da WPBeginner, nossa equipe de especialistas garantirá que seu site esteja atualizado, criará backups regulares, fornecerá monitoramento de tempo de atividade 24 horas por dia e muito mais!

Agende uma consulta gratuita ou confira todos os nossos serviços profissionais hoje mesmo!

Esperamos que este artigo tenha ajudado a ocultar postagens protegidas por senha do loop do WordPress em seu site. Talvez você também queira ver nosso tutorial sobre como alterar o prefixo de publicações privadas e protegidas no WordPress e nosso guia sobre diferentes maneiras de proteger o conteúdo 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.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

11 ComentáriosLeave a Reply

  1. Rahul Rana

    This was very helpful. Thank you very much :)

    • WPBeginner Support

      You’re welcome glad our guide was helpful!

      Admin

  2. Vincent Zhang

    Thank you guys so much. This really helped me. I appreciate it. Please keep more of this type of posts coming that do not involve using a plugin.

    • WPBeginner Support

      When a plugin-free solution is available we will be sure to try to include it.

      Admin

  3. Louis Burkhardt

    Thanks. Works great.

  4. Mark

    I created a site specific plugin and followed these steps and it worked for hiding my post on the “Posts” page of my site. However, the post is still visible on a Related Posts widget for each individual post. (Very similar to the image you have above, however my Password protected post is still visible.)

    Is there anything I can do to fix this?

  5. Alex

    I wanted to make my own code adjustment to show the posts if you could read_private_posts.

    function remove_password_protected_posts( $where = ” ) {
    if (!is_single() && !current_user_can(‘read_private_posts’) && !is_admin() ) {
    $where .= ” AND post_password = ””;
    }
    return $where;
    }
    add_filter( ‘posts_where’, ‘remove_password_protected_posts’ );

    Great post as usual. Thanks.

  6. Harin

    Hi guys

    I made a site specific plugin with the following code:

    If I try to attach a nextgen gallery to my post, the gallery doesn’t load, as soon as I disable the plugin, the nextgen gallery goes back to normal.

    Regards

  7. Brandon

    Thanks for this snippet. So helpful!

    Regarding hiding these posts from the rss feed, I ran across this snippet.


    function rss_filter_protected($query) {
    if ($query->is_feed) {
    add_filter('posts_where', 'rss_filter_password_where');
    }
    return $query;
    }
    add_filter('pre_get_posts','rss_filter_protected');

  8. Chris

    Thanks for that great tip!
    But are these posts hidden from the loop with your code snippet also hidden from the RSS feed?

    • Louis Burkhardt

      Based on a single test, the pw protected post is hidden from the RSS feed.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.