Ouvimos de vários leitores que ficaram surpresos ao saber que a proteção por senha do WordPress não é tão privada quanto parece.
Claro, o conteúdo está bloqueado por uma senha. Mas os títulos das postagens ainda aparecem na sua página inicial, nas páginas de categoria e nos resultados de pesquisa.
É como trancar um diário, mas deixar os nomes dos capítulos à mostra. 😱
Isso é um problema se você administra um site de membros ou compartilha informações comerciais confidenciais. Não só parece desorganizado, mas também sugere o que está escondido nos bastidores. Alguns visitantes curiosos podem até tentar acessar o conteúdo só porque sabem que ele existe.
Felizmente, existem maneiras de ocultar completamente essas postagens da visualização pública.
Neste guia, mostrarei as melhores maneiras de manter seu conteúdo privado verdadeiramente privado. Testamos vários métodos para remover postagens protegidas por senha dos loops do WordPress – sem quebrar seu site ou bloquear as pessoas que precisam de acesso. 🙌

Por que Ocultar Postagens Protegidas por Senha no WordPress?
Por padrão, o WordPress exibe uma postagem protegida por senha com seu título e o prefixo 'protegido'. Os usuários devem inserir a senha para visualizar o conteúdo da postagem.
Este prefixo de postagem é visível na página inicial, em arquivos, em widgets de postagens recentes e em outras áreas.

Se você deseja manter algum conteúdo completamente privado, isso não é ideal por vários motivos.
Usuários que não têm senhas ainda podem ver o título da postagem, o que pode ser um problema em si. Eles também podem tentar obter acesso ao conteúdo com um ataque de força bruta. Como todos sabemos, senhas podem ser quebradas.
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 visão geral rápida de todas as etapas que você seguirá:
- Etapa 1. Instale um Plugin de Snippet de Código
- Etapa 2. Oculte Postagens Protegidas por Senha no WordPress
- Dica Bônus: Permitindo Acesso a Postagens Protegidas para Usuários Específicos
- Perguntas Frequentes Sobre Ocultar Postagens Protegidas por Senha no WordPress
Vamos começar!
Etapa 1. Instale um Plugin de Snippet de Código
Para fazer alterações específicas em seu site, alguns especialistas em WordPress podem dizer para você adicionar um snippet 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 quebrar seu site. Em vez disso, você pode usar um plugin de snippet de código, como o WPCode, para fazer o trabalho.
O WPCode é o melhor plugin de snippet de código do mercado. Algumas de nossas marcas parceiras o utilizam para adicionar e gerenciar snippets de código personalizados em seus sites, e elas adoraram.
Você pode encontrar mais informações sobre o plugin em nossa análise completa do WPCode.

A melhor parte é que você pode usar a versão gratuita do WPCode para adicionar um snippet de código personalizado ao seu site WordPress.
Então, primeiro, prossiga e instale e ative o plugin gratuito WPCode. Se precisar de ajuda com o processo, confira nosso guia sobre como instalar um plugin 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 snippets de código aprovados por especialistas ao adquirir a versão premium do WPCode.
Etapa 2. Oculte Postagens Protegidas por Senha no WordPress
Assim que ativar o plugin, navegue até Snippets de Código » + Adicionar Snippet na sua área de administração do WordPress.
Em seguida, basta clicar no botão ‘Adicionar Snippet Personalizado’ na seção ‘Adicionar Seu Código Personalizado (Novo Snippet)’.

Na próxima tela, você precisará escolher o tipo de código para o seu snippet personalizado.
Para este tutorial, precisaremos usar a opção ‘Snippet PHP’.

Você será então redirecionado para o editor de snippets de código personalizado.
A partir daqui, você vai querer nomear o snippet personalizado primeiro. Recomendamos usar um nome claro, como 'Ocultar Posts Protegidos por Senha'. Isso facilitará a organização de seus snippets de código mais adiante.
Em seguida, basta adicionar o seguinte código à caixa 'Visualização do Código':
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' );
Este código modifica a consulta enviada ao WordPress usando o filtro posts_where. Ele pede ao WordPress para buscar todos os posts que não têm senha.
Veja como fica no editor:

Neste ponto, você precisará alternar o interruptor 'Inativo' para 'Ativo'.
Em seguida, clique em 'Salvar Snippet'.

Por padrão, o WPCode aplicará automaticamente o snippet de código em todos os lugares do seu site WordPress.
Agora, se você visitar seu site, verá que os posts protegidos por senha não são mais visíveis na página inicial, em arquivos ou em widgets como posts recentes.

Lembre-se de que você ainda pode visitar o post acessando-o por meio de um URL direto.
Dica Bônus: Permitindo Acesso a Postagens Protegidas para Usuários Específicos
O exemplo acima oculta posts protegidos por senha de todos os usuários. Mas e se você tivesse um site WordPress de múltiplos autores e quisesse que os posts protegidos fossem visualizáveis por usuários com a capacidade de editar posts privados?
Simplesmente modifique o código acima com outra tag condicional como esta:
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 os posts protegidos por senha e mostramos apenas os posts que não têm senhas.
Ao fazer isso, todos os usuários do WordPress com funções de administrador e editor verão as postagens protegidas por senha na parte frontal do seu site.
Perguntas Frequentes Sobre Ocultar Postagens Protegidas por Senha no WordPress
Perguntando o que acontece quando você oculta postagens protegidas por senha? Aqui estão algumas perguntas comuns que recebemos de leitores, juntamente com respostas claras para ajudá-lo a decidir se essa abordagem é adequada para o seu site.
Por que eu gostaria de ocultar postagens protegidas por senha no WordPress?
Ocultar postagens protegidas por senha ajuda a manter seu site com uma aparência limpa e profissional. Também impede que visitantes não autorizados vejam que o conteúdo privado existe, reduzindo o risco de tentativas de acesso e mantendo seu site mais seguro.
Posso ocultar postagens protegidas por senha sem usar código?
Sim! Embora o WordPress ofereça configurações básicas de privacidade, usar um plugin como o WPCode torna o processo mais fácil e confiável, especialmente se você não se sente confortável editando código. Ele oferece mais controle sem a necessidade de habilidades técnicas.
Ocultar essas postagens afetará a visibilidade para usuários autorizados?
De forma alguma. Usuários autorizados, como membros logados ou usuários com funções específicas, ainda podem acessar as postagens diretamente. Desde que tenham a senha ou permissões corretas.
O WPCode é o único plugin que pode ajudar com isso?
O WPCode é uma das opções mais fáceis e confiáveis, por isso o recomendamos. Dito isso, existem outros plugins disponíveis. Apenas certifique-se de escolher um que seja bem mantido e compatível com seu tema e outras ferramentas.
Ocultar postagens protegidas por senha afetará o SEO do meu site?
Ocultar essas postagens da sua página inicial ou arquivos não prejudicará seu SEO. Na verdade, pode melhorá-lo, mantendo seu conteúdo público mais focado e relevante para os motores de busca.
Esperamos que este artigo tenha ajudado você a ocultar posts protegidos por senha do loop do WordPress em seu site. Você também pode querer ver nosso tutorial sobre como alterar o prefixo de posts privados e protegidos no WordPress e nosso guia sobre diferentes formas de proteger conteúdo no WordPress.
Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Abby Buzon
Isso funcionou muito bem para o feed principal; obrigado! Estou tendo um problema semelhante ao do Mark (alguns comentários acima), mas com o widget de Posts Recentes. Posts protegidos por senha ainda aparecem na lista de Posts Recentes.
WPBeginner Support
Você tem algum plugin que modifica o funcionamento do widget de posts recentes?
Admin
Abby Buzon
Não, por quê? Esse trecho também deveria ocultá-los do widget de Posts Recentes?
WPBeginner Support
Deveria ocultar os posts protegidos por senha do seu widget de posts recentes. Se você tem cache em seu site, certifique-se de limpá-lo caso esteja vendo informações em cache para o widget. A outra possibilidade é que algo esteja modificando a consulta que o widget está usando, além do nosso código.
David Brown
Obrigado por explicar como fazer isso *realmente* em código; eu não esperava isso de um site chamado “wpbeginner.com”! (Ainda funciona em 2024 e WP 6.5.2, a propósito.)
Muitos sites fingem oferecer soluções, mas na verdade querem que você use o plugin deles, que complica demais algo simples e deixa seu site exposto a quaisquer vulnerabilidades que eles possam introduzir e nunca corrigir.
WPBeginner Support
It would depend on the site and plugin as plugins can be for simply adding the same code as code from an article without needing to know how to edit files which is why sites recommend them. Glad you found our site and guide helpful
Admin
Rahul Rana
This was very helpful. Thank you very much
WPBeginner Support
De nada, fico feliz que nosso guia tenha sido útil!
Admin
Vincent Zhang
Muito obrigado, pessoal. Isso realmente me ajudou. Agradeço. Por favor, continuem com mais posts desse tipo que não envolvam o uso de um plugin.
WPBeginner Support
Quando uma solução sem plugins estiver disponível, faremos questão de tentar incluí-la.
Admin
Louis Burkhardt
Obrigado. Funciona muito bem.
Mark
Criei um plugin específico para o site e segui estes passos, e funcionou para ocultar meu post na página "Posts" do meu site. No entanto, o post ainda está visível em um widget de Posts Relacionados para cada post individual. (Muito semelhante à imagem que você tem acima, no entanto, meu post protegido por senha ainda está visível.)
Há algo que eu possa fazer para corrigir isso?
Alex
Eu queria fazer meu próprio ajuste de código para mostrar as postagens se você pudesse ler_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’ );
Ótima postagem como sempre. Obrigado.
Harin
Olá pessoal
Eu fiz um plugin específico para o site com o seguinte código:
Se eu tentar anexar uma galeria nextgen ao meu post, a galeria não carrega, assim que eu desabilito o plugin, a galeria nextgen volta ao normal.
Atenciosamente
Brandon
Obrigado por este trecho. Muito útil!
Em relação a ocultar essas postagens do feed rss, encontrei este trecho.
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');Chris
Obrigado por essa ótima dica!
Mas essas postagens estão ocultas do loop com seu trecho de código também ocultas do feed RSS?
Louis Burkhardt
Com base em um único teste, a postagem protegida por senha é ocultada do feed RSS.