Como Excluir a Última Postagem do Loop de Postagens do WordPress

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.

Como excluir a última postagem 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:

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.

Adicionando trechos de código personalizados ao WordPress

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.

Clique no botão Adicionar Trecho Personalizado

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

Selecione Snippet PHP como o tipo de código

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.

Excluindo a última postagem do loop de postagens do WordPress

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’.

Inserindo código automaticamente em um site WordPress

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.

Excluindo a última postagem do loop de postagens do WordPress usando WPCode

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.

Configurações do site Bluehost

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.

Acessando o gerenciador de arquivos de um site no Bluehost

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’.

Abrindo o arquivo index.php no gerenciador de arquivos da Bluehost

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:

Adicionando código para excluir a última postagem no gerenciador de arquivos da 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:

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.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

41 CommentsLeave a Reply

  1. 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á:

  2. 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? .

    • aplique a classe ao li de acordo com o número da página e um contador & dê estilo a p1c1 como display:none;

  3. 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?

    • 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

  4. 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.

  5. 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!

        • 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()

  6. 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

  7. “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. :(

  8. 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!

  9. 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á!

      • 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!

        • 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 :)

  10. 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 :)

    • 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

Deixe uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.