Quando ajudamos os usuários a configurar seus blogs WordPress, frequentemente nos perguntam sobre como personalizar o layout, especialmente como fazer com que a postagem mais recente se destaque.
Às vezes, você não quer que essa postagem mais recente se misture com o restante do feed do blog. Você pode ter um design especial em mente ou precisar que ela apareça em um local completamente diferente.
É aí que entra a exclusão da postagem mais recente do loop de postagens do WordPress. Isso lhe dá a flexibilidade de exibir esse conteúdo recente como desejar. Neste guia, mostraremos duas maneiras de excluir a postagem mais recente do loop de postagens do WordPress.

Por que excluir a postagem mais recente do loop de postagens do WordPress?
Por padrão, o WordPress exibe suas postagens de blog para os visitantes em ordem cronológica inversa, então as postagens mais novas aparecem primeiro. No entanto, você pode querer alterar a aparência da postagem mais recente em sua página inicial personalizada ou página de arquivo do WordPress.
Ao excluir a postagem mais recente do loop de postagens do WordPress, você pode mostrar esse conteúdo em um local diferente e até mesmo adicionar sua própria estilização personalizada.
Dito isso, vamos ver como você pode ocultar a postagem mais recente do blog excluindo-a do loop de postagens do WordPress. Simplesmente use os links rápidos abaixo para pular diretamente para o método que você deseja usar:
- Método 1: Usando o Plugin WPCode (Recomendado)
- Método 2: Editando Arquivos do Tema do WordPress (Sem Plugin Necessário)
- Saiba Mais Dicas e Truques para Gerenciar Suas Postagens do WordPress
Método 1: Usando o Plugin WPCode (Recomendado)
A maneira mais fácil de excluir a postagem mais recente do loop de postagens é adicionando código ao seu site WordPress.
Alguns guias dirão para editar os arquivos do tema manualmente, mas isso pode causar erros comuns do WordPress e pode até quebrar completamente seu site.
Por esse motivo, recomendamos o uso do WPCode. É o melhor plugin de trechos de código que facilita a adição de código personalizado no WordPress sem colocar seu site em risco.
Primeiro, você precisará instalar e ativar o plugin gratuito WPCode. Para mais informações, veja nosso guia passo a passo sobre como instalar um plugin do WordPress.
Assim que o plugin for ativado, vá para Trechos de Código » + Adicionar Trecho.

Aqui, você verá todos os trechos pré-fabricados que pode adicionar ao seu site. Isso inclui um trecho que permite desativar completamente os comentários, carregar tipos de arquivo que o WordPress normalmente não suporta, desativar páginas de anexo, e muito mais.
Agora você pode passar o mouse sobre a opção ‘Adicionar Seu Código Personalizado (Novo Trecho)’ e clicar no botão ‘+ Adicionar Trecho Personalizado’ quando ele aparecer.

Em seguida, escolha ‘Trecho PHP’ como o tipo de código na lista de opções exibidas na tela.

Na próxima página, digite um título para o trecho de código. Isso é apenas para sua referência, então você pode usar o que quiser.

Com isso feito, simplesmente cole o seguinte na caixa ‘Pré-visualização do Código’:
<?php
function wpsites_exclude_latest_post( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'offset', '1' );
}
}
add_action( 'pre_get_posts', 'wpsites_exclude_latest_post', 1 );
Depois disso, role a página para baixo até a seção ‘Inserção’.
Se ainda não estiver selecionado, escolha ‘Inserir Automaticamente’ e ‘Executar em Todos os Lugares’.

Finalmente, role até o topo da tela e clique no controle deslizante ‘Inativo’ para que ele mostre ‘Ativo’.
Em seguida, basta clicar no botão ‘Salvar trecho’ ou ‘Atualizar’ para tornar o trecho de código ativo.

Agora, se você visitar seu site WordPress, a postagem mais recente do blog ficará oculta.
Método 2: Editando Arquivos do Tema do WordPress (Sem Plugin Necessário)
Observações: Este tutorial funcionará apenas com temas WordPress clássicos, pois os temas de blocos têm um conjunto diferente de arquivos de tema. Se você usar um tema de blocos, sugerimos usar o primeiro método.
Também recomendamos fazer backup do seu site primeiro e/ou usar um ambiente de staging para evitar erros ao seguir este método.
Outra maneira de excluir a postagem mais recente do loop de postagens do WordPress é adicionando código aos arquivos do seu tema WordPress.
Isso alcança um resultado semelhante ao código acima, mas você precisará adicioná-lo diretamente ao loop do WordPress onde você deseja que ele seja exibido.
Por exemplo, se você quiser alterar o loop de posts em todo o seu site, precisará adicionar o código ao seu arquivo index.php.
Esteja ciente de que adicionar código diretamente aos seus arquivos do WordPress pode potencialmente causar problemas com a paginação no seu blog WordPress.
Primeiro, você precisa abrir o gerenciador de arquivos do seu provedor de hospedagem WordPress ou conectar seu site a um cliente FTP.
Para este tutorial, usaremos o gerenciador de arquivos da Bluehost, pois o processo é muito mais fácil do que usar um FTP. Dito isso, os passos são mais ou menos os mesmos, independentemente de você usar um FTP ou um host diferente.
Se você é um usuário Bluehost, faça login no painel da sua conta de hospedagem e navegue até a aba 'Websites'. Em seguida, clique em 'Settings' no site que você gostaria de editar.

Agora, vá para a seção Quick Links.
Em seguida, clique no botão 'File Manager'. A Bluehost também mostra o diretório raiz do seu site, se você precisar dele.

Uma vez dentro do gerenciador de arquivos, você precisa localizar o arquivo que deseja editar. Vamos supor que você queira adicionar o código ao index.php, então você o encontrará na pasta do seu tema atual, que fica dentro de public_html/wp-content.
Uma vez lá, basta clicar com o botão direito no arquivo index.php e clicar em ‘Editar’.

Agora, você precisará copiar o seguinte código e adicioná-lo ao seu loop do WordPress:
query_posts('posts_per_page=6&offset=1');
Este código diz ao loop para mostrar apenas 5 posts após o post mais recente.
Você precisará adicionar o código diretamente acima do seu loop do WordPress para que ele se pareça com o trecho de código abaixo:
<?php
query_posts('posts_per_page=6&offset=1');
if ( have_posts() ) {
// Load posts loop.
while ( have_posts() ) {
the_post();
get_template_part( 'template-parts/content/content', get_theme_mod( 'display_excerpt_or_full_post', 'excerpt' ) );
}
// Previous/next page navigation.
twenty_twenty_one_the_posts_navigation();
} else {
// If no content, include the "No posts found" template.
get_template_part( 'template-parts/content/content-none' );
}
Veja como nosso código se parece no gerenciador de arquivos do Bluehost:

Depois de adicionar o código, basta clicar no botão ‘Salvar Alterações’.
Em seguida, vá em frente e pré-visualize seu site WordPress.
Saiba Mais Dicas e Truques para Gerenciar Suas Postagens do WordPress
Quer otimizar ainda mais seu blog WordPress? Confira estes guias:
- Como Redirecionar Usuários para um Post Aleatório no WordPress
- Como Exibir Posts Relacionados no WordPress (Passo a Passo)
- Como Reordenar Posts Facilmente no WordPress (Passo a Passo)
- Como Alterar o Número de Posts Exibidos na Página do Seu Blog WordPress
- Como exibir qualquer número de postagens em um Loop do WordPress
- Como Mover Posts em Massa para Categorias e Tags no WordPress
Esperamos que este artigo tenha ajudado você a aprender como excluir o último post do loop do WordPress. Você também pode querer ver nosso guia sobre como adicionar posts e páginas em massa no WordPress e nossas escolhas de especialistas dos melhores plugins de posts relacionados para 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.

George
Este trecho de código ajudou a resolver 90% de um problema no meu blog.
WPBeginner Support
Glad to hear our code was able to help
Admin
ghazali
Existe alguma maneira de eu remover apenas os 3 posts em destaque da página inicial?
ivan logan
Como remover todos os posts sem imagens em destaque (miniaturas), tenho 9000 para removê-los!
Praveen
Obrigado, Bom trabalho, Boa Solução
Matt
Post de beleza! Simples, claro e MUITO útil. Parabéns para você!
Dimarj
BGH_
Olá pessoal, obrigado por este artigo! Quero implementar isso, mas sempre que tento, tenho um problema estranho: as entradas ficariam exatamente como na página inicial, mostrando uma lista de posts recentes em vez do post em si. Meu código é ligeiramente diferente, pois é um SMTheme. Qualquer ajuda será muito apreciada. PS: Desculpe por postar duas vezes, mas o código foi impresso errado. Aqui está:
space
A solução funciona bem, obrigado. mas a paginação quebrou depois de aplicar este código, tentei mas não consegui fazer funcionar com a paginação correta. Alguma solução para a paginação? .
Rickie Anand
aplique a classe ao li de acordo com o número da página e um contador & dê estilo a p1c1 como display:none;
Sabi Maharjan
Usei dois plugins. Um é “Recent facebook post” para mostrar posts recentes no wordpress e “Facebook publish page” para publicar meus posts do wordpress no facebook. Agora quero excluir os posts recentes do facebook que já foram postados dos meus posts do wordpress.
Como posso fazer isso?
WPBeginner Support
Para isso, seu plugin que posta conteúdo da sua página do Facebook deve ter uma verificação para ver se um post já foi publicado do WordPress para o Facebook. Não recomendamos que os usuários editem diretamente os arquivos do plugin. No entanto, se você se sentir confortável editando arquivos php, pode fazer um fork do plugin como um novo plugin e, em seguida, adicionar o código para realizar isso.
Admin
Pastor Wynn
Obrigado pela ótima dica. Passei horas tentando descobrir isso, e você tornou tudo tão simples!
Gu-ens
Muito obrigado.
a opção ‘post__not_in’ não funciona no wordpress 3.5
Jim
Hmm, quando tentei este código em um loop de página de categoria, ele não manteve os posts apenas para essa categoria, em vez disso, agiu como se fosse o loop da página inicial e exibiu todos os posts.
Amin
Muito obrigado, cara! Isso ajudou muito!
Atenciosamente!
Fernando
Muito obrigado!! dica muito útil!
GangeshMatta
Obrigado!
PabloCovarrubias
olá, eu só tenho uma pergunta, quando eu faço isso, a paginação não funciona mais, como posso consertar isso?
obrigado, fora isso, funciona perfeitamente!!
Saudações!
space
Yes, pagination not working. you have found any working solution for pagination, I am still searching ..
Kev Bowman
Você já encontrou uma solução para isso?
de hams
a paginação não funciona na página inicial, então podemos fazer nossa própria chamada de paginação ajax e, na maioria das vezes, query_posts() funciona para paginação em vez de WP_Query()
Jon
Muito obrigado por isso! Eu não conseguia descobrir nada, mas isso funcionou perfeitamente.
Wordpwess
Existe uma maneira de desconsiderar um post de uma categoria?
Por exemplo, eu quero mostrar todos os posts, exceto o POST MAIS RECENTE da categoria x
Equipe Editorial
Sim, você pode simplesmente selecionar o parâmetro category_in e adicionar o ID da sua categoria.
Admin
Luka
Thanks mate, you save my day
Khurram
“query_posts(‘posts_per_page=6&offset=1’);” this is not worked for me , while i am using the WP-PageNavi plugin for page navigation.
Equipe Editorial
que erro você está recebendo?
Admin
Ken
Thanks for the info. Worked well
Though, I’m encountering another issue for another site I’m currently doing. Is there a way to exclude from the loop only the latest post of a particular category?
A questão é que eu tenho um blog que publica podcasts. A página inicial destaca o podcast mais recente – os posts são publicados sob a categoria: Podcast – com seu próprio estilo. Ao mesmo tempo, a página inicial também mostra os últimos 5 posts mais recentes, que podem incluir posts sob a categoria “podcast”. Eu só não quero mostrar no loop o post mais recente publicado sob “Podcast” simplesmente porque ele já está em destaque com seu próprio estilo. Espero que você possa me ajudar. obrigado!
Equipe Editorial
Você pode excluir todos os posts da categoria “podcast” do seu loop, se quiser. Mas não há uma maneira simples de excluir apenas o último post.
Admin
Joffrey
Obrigado pela dica!
Mas eu estava me perguntando se também há uma maneira de excluir a postagem que está sendo exibida na tela.
Se sim, você pode me dizer como fazer isso?
Agradeço desde já!
Equipe Editorial
Não entendi bem sua pergunta? Qual tela?
Admin
Joffrey
Uma das minhas páginas exibe, antes de tudo, a postagem mais recente ou atual que o usuário está visualizando.
A postagem atual é chamada pelo loop.
Abaixo desta postagem, quero exibir os trechos de outras postagens anteriores sem a postagem atual exibida nesta lista.
Os trechos de postagens anteriores são chamados por query_posts:
query(‘showposts=3&cat=5’);
while($previousPosts->have_posts()) : $previousPosts->the_post();
?>
Como você pode ver, eu chamo 3 posts (trechos) da categoria 5, que exibe três posts da categoria Notícias. Isso parece ok, mas dentro desses 3 trechos de posts, o post atual que é chamado pelo loop também está nesta lista.
Você sabe de alguma maneira de excluir o post atual dentro desta lista?
Obrigado novamente!
Equipe Editorial
Você pode adicionar offset=1 na consulta para pular a primeira postagem.
Joffrey
Obrigado novamente pela resposta rápida!
No entanto, eu tentei o offset=1 na consulta, a única coisa é que quando você clica em um post mais antigo, você vê o post mais antigo no loop principal, dentro dos trechos da lista o post mais recente é excluído, mas o post mais antigo que agora é o post atual ainda está na lista de trechos.
Alguma ideia de como excluir não a mais recente, mas a postagem atual?
Thanks so far already
Equipe Editorial
Envie-nos o link ativo do site por e-mail, para que possamos ver exatamente o que está acontecendo. Use o formulário de contato para e-mail.
Bilal Ahmed
Thank you so much for this piece as i was looking for a way to exclude 4 latest posts form my home page and i got answer by this articles and i have replaced (query_posts(‘posts_per_page=6&offset=1’);) by query_posts(‘posts_per_page=6&offset=3’); and its done
Jeremy
Onde exatamente você coloca este código para remover todas as postagens, exceto as fixadas na página principal.
Obrigado,
Equipe Editorial
Esse é um processo de várias etapas. Primeiro, você precisaria ter um modelo de página personalizado. Segundo, você precisaria criar essa página personalizada, sua página inicial. Em seguida, você executaria uma consulta nesse modelo personalizado mostrando apenas postagens fixadas.
Admin
dominik
Obrigado, era exatamente o que eu estava procurando! Obrigado por quaisquer outras dicas.
Cópia da Manhã
Obrigado por isso. Boa solução para layouts estilo revista.