Sulla base della nostra esperienza con i siti web WordPress, i post in evidenza possono essere sia una benedizione che una sfida.
Sebbene siano ottimi per mettere in risalto i contenuti in primo piano, abbiamo scoperto che non si adattano sempre naturalmente a ogni sezione di un sito, specialmente quando si cerca di mantenere layout puliti e organizzati.
A volte, il modo migliore per mantenere un sito ordinato e facile da usare è escludere i post in evidenza dal loop. Questo ti dà un maggiore controllo su come appare il tuo contenuto e garantisce che i lettori vedano prima i post più pertinenti.
Ecco perché, in questo articolo, ti mostreremo come escludere completamente i post in evidenza dal loop in WordPress.

Perché dovresti escludere i post in evidenza dal loop?
Rimuovere i post in evidenza da un loop sul tuo sito web WordPress può essere utile se non vuoi mostrarli in una particolare area del tuo sito web WordPress.
I post in evidenza sono utili per mettere in risalto contenuti importanti come i tuoi articoli principali, i post del blog ad alto traffico e i contenuti sensibili al tempo. Tuttavia, possono affollare la tua area widget dei post più recenti e rendere più difficile l'accesso ai tuoi contenuti più recenti.
È qui che l'esclusione dei post in evidenza dal loop diventa utile. WordPress non può indovinarlo, quindi devi dire esplicitamente a WordPress di escludere i post in evidenza da un loop personalizzato.
Vediamo come puoi rimuovere i post in evidenza dal loop in WordPress.
Escludere i post in evidenza dal loop in WordPress
Per aiutarti a escludere un post in evidenza dall'inizio del loop o a rimuoverli completamente dal loop, abbiamo creato uno snippet di codice personalizzato.
Poiché ciò richiede la modifica del codice sul tuo sito web, può essere complicato per i principianti. Se non l'hai mai fatto prima, ti consigliamo di consultare la nostra guida su come incollare snippet dal web in WordPress per maggiori dettagli.
Potresti anche considerare di assumere uno sviluppatore per un aiuto personalizzato.
Come ignorare i post in evidenza in WordPress
Questo codice ignora il fatto che un post sia in evidenza e mostra i post nell'ordine normale sul tuo blog WordPress.
Utilizzando questo codice, i tuoi post in evidenza appariranno comunque nel loop, ma non saranno posizionati in cima.
Tutto quello che devi fare è inserire il seguente codice nel file functions.php del tuo tema o in un plugin per snippet di codice:
<?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();
}
}
Ti consigliamo di aggiungere questo codice con WPCode, il miglior plugin per snippet di codice per WordPress. Con WPCode, puoi aggiungere codice personalizzato in WordPress in modo sicuro e semplice, senza modificare il file functions.php del tuo tema.
Per iniziare, devi installare e attivare il plugin gratuito WPCode. Se hai bisogno di aiuto, consulta questo tutorial su come installare un plugin WordPress.
Una volta attivato il plugin, vai alla pagina Snippet di codice » + Aggiungi snippet dal tuo pannello di controllo di WordPress.
Da lì, trova l'opzione 'Aggiungi il tuo codice personalizzato (Nuovo snippet)' e fai clic sul pulsante '+ Aggiungi snippet personalizzato' sotto di essa.

Quindi, è necessario selezionare ‘PHP Snippet’ come tipo di codice dall'elenco di opzioni che appaiono sullo schermo.

Successivamente, puoi aggiungere un titolo per il tuo snippet, che può essere qualsiasi cosa per aiutarti a ricordare a cosa serve il codice.
Dopo di che, incolla il codice da sopra nella casella 'Anteprima codice'.

Infine, semplicemente sposta l'interruttore da 'Inattivo' ad 'Attivo' e fai clic sul pulsante 'Salva snippet'.

Escludi completamente i post in evidenza dal loop
Successivamente, se stai utilizzando post in evidenza in un plugin slider, a volte potresti voler escludere completamente i tuoi post in evidenza dal loop.
Aggiungi semplicemente il seguente snippet di codice al tuo file functions.php o in un plugin per snippet di codice:
<?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();
}
}
Questo codice non visualizzerà alcun post in evidenza nel loop dei post.
Puoi seguire gli stessi passaggi di cui sopra per aggiungere questo codice utilizzando il plugin WPCode.
Per ulteriori suggerimenti sulla modifica dei temi di WordPress, consulta il nostro Foglio di riferimento per temi WordPress per principianti.
Speriamo che questo articolo ti abbia aiutato a imparare come escludere i post in evidenza dal loop in WordPress. Potresti anche voler consultare la nostra guida su come mostrare o nascondere i widget su pagine specifiche di WordPress e le nostre scelte esperte dei migliori plugin per post correlati per WordPress.
Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e 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
Ciao,
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
Entrambi i metodi hanno interrotto la mia paginazione (i link alle pagine ci sono ancora, ma caricano sempre gli stessi post), qualche idea a riguardo?
Rohit Tripathi
Questo è davvero fantastico. Un posto dove non ne hai bisogno è quando crei un widget personalizzato per la barra laterale per visualizzare gli ultimi post.
Grazie.
Kyle Shevlin
C'è qualche motivo per cui l'aggiunta di questo rimuoverebbe la funzionalità degli archivi e dei link della nuvola di tag? Anch'io sto cercando di escludere i post in evidenza dal mio loop principale del blog utilizzando un loop per gestire una sezione in primo piano e un secondo per gestire tutto il resto. Il problema che sto riscontrando si verifica quando clicco sui link in una sezione di archivio o nella nuvola di tag. Mi reindirizza di nuovo alla mia prima pagina. Quando rimuovo questo codice di esclusione, funziona perfettamente. Non riesco a capire questo.
chris mccoy
puoi anche usare pre_get_posts così non devi alterare il tuo loop principale.
$query->set(‘post__not_in’, get_option(‘sticky_posts’));