Tutorial WordPress affidabili, quando ne hai più bisogno.
Guida per principianti a WordPress
WPB Cup
25 Milioni+
Siti web che utilizzano i nostri plugin
16+
Anni di esperienza con WordPress
3000+
Tutorial WordPress di esperti

How to Display the Latest Sticky Posts in WordPress

WordPress ha questa funzionalità molto interessante chiamata post in evidenza. Pensa ai post in evidenza come a post speciali per il tuo blog. Quando contrassegni un post come in evidenza, questo appare sopra i tuoi nuovi post, ma solo se il tuo tema lo consente. In questo tutorial ti mostreremo come visualizzare gli ultimi post in evidenza in WordPress.

Demo Ultimi Post in Evidenza

Nota: questo è un tutorial di livello intermedio e richiede conoscenze di base di HTML/CSS + conoscenze dei temi WordPress.

Tutorial video

Iscriviti a WPBeginner

Se non ti piace il video o hai bisogno di ulteriori istruzioni, continua a leggere.

La prima cosa da fare è copiare e incollare questo snippet di codice nel file functions.php del tuo tema o in un plugin specifico per il sito.

function wpb_latest_sticky() { 

/* Get all sticky posts */
$sticky = get_option( 'sticky_posts' );

/* Sort the stickies with the newest ones at the top */
rsort( $sticky );

/* Get the 5 newest stickies (change 5 for a different number) */
$sticky = array_slice( $sticky, 0, 5 );

/* Query sticky posts */
$the_query = new WP_Query( array( 'post__in' => $sticky, 'ignore_sticky_posts' => 1 ) );
// The Loop
if ( $the_query->have_posts() ) {
	$return .= '<ul>';
	while ( $the_query->have_posts() ) {
		$the_query->the_post();
		$return .= '<li><a href="' .get_permalink(). '" title="'  . get_the_title() . '">' . get_the_title() . '</a><br />' . get_the_excerpt(). '</li>';
		
	}
	$return .= '</ul>';
	
} else {
	// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

return $return; 

} 
add_shortcode('latest_stickies', 'wpb_latest_sticky');

Il codice sopra interroga il database di WordPress per recuperare i 5 ultimi post in evidenza. Successivamente, visualizza il titolo di ciascun post in evidenza con un link in formato elenco. Abbiamo racchiuso tutto questo in una funzione e creato uno shortcode.

Ora, per visualizzare i tuoi ultimi post in evidenza, puoi utilizzare lo shortcode [latest_stickies] in qualsiasi post, pagina o persino in un widget di testo di WordPress.

Se desideri utilizzare gli shortcode all'interno di un widget di testo, dovrai aggiungere questa riga di codice aggiuntiva nel file functions.php del tuo tema o nel plugin specifico per il sito.

add_filter('widget_text', 'do_shortcode');

Questo snippet e funzione possono essere utilizzati molto bene nello slider in primo piano, o in qualsiasi altra funzionalità avanzata che si desidera visualizzare sul proprio sito. Questo snippet è principalmente orientato a un sito WordPress che ha una homepage personalizzata o un aspetto in stile rivista.

Questo è tutto, speriamo che questo articolo ti abbia aiutato a visualizzare gli ultimi post in evidenza sul tuo blog WordPress. Potresti anche voler consultare il nostro tutorial su come aggiungere una data di scadenza ai post in evidenza in WordPress.

Se ti è piaciuto questo articolo, iscriviti al nostro Canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Google+.

Dichiarazione: Il nostro contenuto è supportato dai lettori. Ciò significa che se fai clic su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come è finanziato WPBeginner, perché è importante e come puoi supportarci. Ecco il nostro processo editoriale.

Il Toolkit WordPress Definitivo

Ottieni l'accesso GRATUITO al nostro toolkit - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Interazioni del lettore

8 CommentsLeave a Reply

  1. sforzi molto informativi da parte tua, questo codice funziona perfettamente,
    ho una domanda: ho più categorie e sottocategorie, quindi voglio solo creare un post fisso per ogni categoria separatamente, e visualizzato sulla pagina dell'elenco delle categorie dove sono elencati tutti i post di quella specifica categoria, come (categoria Sport -> un post fisso – categoria ricette di cucina -> un post fisso) ecc.

  2. Grazie per avermi messo sulla strada giusta!!
    Il codice funziona benissimo nel far apparire il titolo dove viene incollato lo shortcode.

    Tuttavia, stavo cercando un metodo per visualizzare l'intero post (tutto il contenuto, invece di solo un titolo o un estratto) su una pagina specifica.

    Ho deciso di giocare con il tuo codice sopra per cercare di ottenere questo e finalmente ci sono riuscito…
    Anche se il titolo viene visualizzato delle stesse dimensioni del testo del paragrafo, sono sicuro che posso risolvere questo problema.

    Here’s what I changed…please let me know if you think there’s something I should reconsider lest the whole world explodes ;)

    Ho semplicemente cambiato il tuo testo get_the_excerpt() in get_the_content() e questo ha estratto con successo l'intero post del blog in quella pagina.
    Per rimuovere l'indentazione puntata ho quindi rimosso i tag " " ", ma ho dovuto lasciare gli apostrofi al loro posto, altrimenti la pagina non si caricava.
    Quindi in sostanza, dove prima c'era " o ", ora c'è solo " e così via.

    Ho cambiato solo questo e per me funziona quasi alla perfezione...
    Ho notato 2 problemi:
    1: A volte carica la maggior parte del post, ma non sempre fino alla fine, soprattutto se il post viene modificato successivamente... qualcuno ha suggerimenti per evitare che ciò accada?
    2: Mi piacerebbe se venisse visualizzata anche l'immagine in evidenza, questo la renderebbe la soluzione definitiva e flessibile! Qualche idea a riguardo?

    Grazie ancora per il consiglio!

    Spero che ciò che ho spiegato abbia senso per chiunque voglia ottenere lo stesso risultato che cercavo io.

  3. Ciao

    Grazie per il tuo codice. Tuttavia, sto cercando di ottenere qualcosa e ho 2 problemi.

    Voglio visualizzare solo un post in evidenza sulla mia home page e solo il video di YouTube presente nel contenuto.

    In realtà visualizzo il titolo e tutto il contenuto di un post (inclusi testi, immagini e video).
    Il secondo problema è che visualizza YouTube come un link e non incorpora direttamente il video nella mia homepage.

    Grazie per il tuo aiuto

  4. Ciao,

    Ho provato il codice, funziona bene quando almeno un post è stato assegnato come post in evidenza, altrimenti, quando nessun post è assegnato come in evidenza, verranno visualizzati tutti gli ultimi 5 post.

    Sarebbe quindi la condizione per visualizzare solo i post in evidenza, se non ci sono post in evidenza assegnati, allora non dovrebbe visualizzare nulla.

    Grazie in anticipo

  5. ‘caller_get_posts’ è stato sostituito da ‘ignore_sticky_posts’ dalla v3.1, quindi penso sia importante cambiare il tuo codice per riflettere ciò.
    Inoltre, a) $post->ID non è necessario in questa istanza di get_permalink() poiché hai impostato i dati del post chiamando $the_query->the_post(), e se per qualsiasi motivo desideri comunque includere $post->ID, dovresti renderlo globale, cioè global $post;

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra politica sui commenti, e il tuo indirizzo email NON verrà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.