Deseja excluir uma postagem fixa do loop no WordPress? Você está no lugar certo.
As postagens fixas são uma ótima maneira de destacar seu conteúdo em destaque. No entanto, em nossa opinião, há determinados locais em seu site em que não é necessário que as postagens fixas estejam no topo.
Neste artigo, mostraremos a você como excluir completamente os posts fixos do loop no WordPress.
Por que você deve excluir posts fixos do loop?
A remoção de posts fixos de um loop no site do WordPress pode ser útil se você não quiser mostrá-los em uma área específica do site.
As postagens fixas são úteis para destacar conteúdo importante, como seus artigos de pilar, postagens de blog de alto tráfego e conteúdo sensível ao tempo. No entanto, elas podem sobrecarregar a área do widget de postagens mais recentes e dificultar o acesso ao conteúdo mais recente.
É aqui que a exclusão de posts fixos do loop é útil. O WordPress não pode adivinhar isso, portanto, você precisa dizer explicitamente ao WordPress para excluir posts fixos do blog de um loop personalizado.
Vamos ver como você pode remover posts fixos do loop no WordPress.
Exclusão de posts fixos do loop no WordPress
Para ajudá-lo a excluir um post fixo da parte superior do loop ou removê-lo completamente do loop, criamos um snippet de código personalizado.
Como isso requer a edição de código em seu website, pode ser complicado para iniciantes. Se você nunca fez isso antes, recomendamos que leia nosso guia sobre como colar snippets da Web no WordPress para obter mais detalhes.
Você também pode considerar a contratação de um desenvolvedor para obter ajuda individual.
Como ignorar posts fixos no WordPress
Esse código ignora o fato de uma postagem ser fixa e mostra as postagens na ordem normal em seu blog do WordPress.
Ao usar esse código, suas postagens fixas ainda aparecerão no loop, mas não serão colocadas na parte superior.
Tudo o que você precisa fazer é inserir o seguinte código no arquivo functions.php do seu tema ou em um plug-in de snippets de código:
<?php
// The loop arguments
$args = array(
'posts_per_page' => 10,
'ignore_sticky_posts' => 1
);
// The loop
$the_query = new WP_Query($args);
if ($the_query->have_posts()) {
while ($the_query->have_posts()) {
$the_query->the_post();
}
}
Recomendamos adicionar esse código com o WPCode, o melhor plug-in de snippets de código para WordPress. Com o WPCode, você pode adicionar códigos personalizados com segurança e facilidade no WordPress, sem editar o arquivo functions.php do seu tema.
Para começar, você precisa instalar e ativar o plug-in gratuito WPCode. Se precisar de ajuda, consulte este tutorial sobre como instalar um plug-in do WordPress.
Depois que o plug-in for ativado, vá para a página Code Snippets ” + Add Snippet no painel do WordPress.
A partir daí, localize a opção “Add Your Custom Code (New Snippet)” (Adicionar seu código personalizado (novo snippet)) e clique no botão “Use Snippet” (Usar snippet) abaixo dela.
Em seguida, você pode adicionar um título ao seu snippet, que pode ser qualquer coisa que o ajude a lembrar para que serve o código.
Em seguida, cole o código acima na caixa “Code Preview” (Visualização de código) e selecione “PHP Snippet” como o tipo de código na lista suspensa à direita.
Depois disso, basta alternar a chave de “Inativo” para “Ativo” e clicar no botão “Salvar snippet”.
Excluir completamente as postagens fixas do loop
Em seguida, se você estiver usando posts fixos em um plug-in de controle deslizante, às vezes talvez queira excluir completamente os posts fixos do loop.
Basta adicionar o seguinte trecho de código ao seu arquivo functions.php ou em um plug-in de trechos de código:
<?php
// The loop arguments
$args = array(
'posts_per_page' => 10,
'post__not_in' => get_option( 'sticky_posts' ) // do not display the sticky posts at all.
);
// The loop
$the_query = new WP_Query($args);
if ($the_query->have_posts()) {
while ($the_query->have_posts()) {
$the_query->the_post();
}
}
Esse código não exibirá nenhuma postagem fixa no loop de postagem.
Você pode seguir as mesmas etapas acima para adicionar esse código usando o plug-in WPCode.
Para obter mais dicas sobre como modificar temas do WordPress, confira nossa Folha de dicas de temas do WordPress para iniciantes.
Esperamos que este artigo tenha ajudado você a aprender como excluir posts fixos do loop no WordPress. Talvez você também queira ver nosso guia sobre como mostrar ou ocultar widgets em páginas específicas do WordPress e nossas escolhas de especialistas dos melhores plug-ins de posts relacionados para 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.
ogunrinde fatai
I am having similar issue with the broken pagination when removing the sticky post, does anyone has a fix thanks
Sam
Your code just causes my links to break and i’m not sure why
Stephen
I am having a problem that the one “sticky” post shows up as the first “featured” post so there is the same article listed twice in succession. Any help would be great.
Kyle Shevlin
Don’t know if this happened for anyone else, but using this broke the pagination. My next page of posts would be a repeat of the first page. If this happened to anyone else, do you have a fix?
Umut Kay
Hi,
i have the same issue, do you found any workaround or another solution?
Super Nguyen
I have the same problem, my navigation on homepage not working
Agus Almaula
Thank you so much, just because i am totally wpBeginner i came to this site and my WP development solved.
~agus~
Rut
Where do I paste this peace of code? I constantly get errors…
Daniel Lemes
Both methods broke my pagination (page links still there, but load always the same posts), any idea on it?
Rohit Tripathi
This is really great. One place where you don’t need this is when creating a custom sidebar widget to display recent posts.
Thanks.
Kyle Shevlin
Is there any reason that adding this would remove the functionality of archives and tag cloud links? I, too, am trying to exclude sticky posts from my main blog loop using one loop to operate a featured section and a second to operate everything else. The trouble I’m having comes when I click on links in an archive section or tag cloud. It redirects me back to my first page again. When I remove this exclusionary code, it works just fine. Can’t figure this one out.
chris mccoy
you can also use pre_get_posts so you dont have to alter your main loop.
$query->set(‘post__not_in’, get_option(‘sticky_posts’));