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.

Nota: questo è un tutorial di livello intermedio e richiede conoscenze di base di HTML/CSS + conoscenze dei temi WordPress.
Tutorial video
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+.


umair
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.
Dom
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.
Achi Baten
Come posso mostrare i post della homepage come i tuoi?
Supporto WPBeginner
Il nostro sito utilizza un tema personalizzato progettato specificamente per le nostre esigenze. Tuttavia, puoi trovare funzionalità simili in alcuni temi per riviste disponibili.
Amministratore
richard
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
Raviraj
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
Staff di WPBeginner
Grazie per averlo segnalato. Abbiamo aggiornato il codice.
AnastisSourgoutsidis
‘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;