Probabilmente hai familiarità con il widget Categorie in WordPress. Recentemente, uno dei nostri lettori ci ha chiesto se fosse possibile visualizzare anche gli articoli recenti in un menu a discesa. In questo articolo, ti mostreremo come visualizzare gli articoli recenti come menu a discesa in WordPress.

Perché e chi ha bisogno degli articoli recenti in un menu a discesa?
WordPress viene fornito con un widget integrato per gli articoli recenti che puoi aggiungere a qualsiasi barra laterale o area predisposta per i widget.
Questo widget visualizza semplicemente un elenco di articoli recenti e puoi scegliere il numero di articoli che desideri mostrare. Ma se vuoi mostrare più di 5-10 articoli, l'elenco occuperà molto spazio nella tua barra laterale.
Alcuni utenti di WordPress potrebbero aver bisogno di un modo compatto per visualizzare gli articoli recenti. In tal caso, l'utilizzo di menu a discesa o elenchi comprimibili può aiutarti a risparmiare spazio.
Diamo un'occhiata a un paio di modi diversi per mostrare gli articoli recenti come menu a discesa in WordPress.
Visualizzare gli articoli recenti di WordPress in un semplice menu a discesa (codice manuale)
Questo metodo utilizza la funzione integrata wp_get_recent_posts. Tutto ciò che devi fare è copiare e incollare il seguente codice nel file functions.php del tuo tema o in un plugin specifico per il sito.
function wpb_recentposts_dropdown() {
$string .= '<select id="rpdropdown">
<option value="" selected>Select a Post</option>';
$args = array( 'numberposts' => '5', 'post_status' => 'publish' );
$recent_posts = wp_get_recent_posts($args);
foreach( $recent_posts as $recent ){
$string .= '<option value="' . get_permalink($recent["ID"]) . '">' . $recent["post_title"].'</option> ';
}
$string .= '</select>
<script type="text/javascript"> var urlmenu = document.getElementById( "rpdropdown" ); urlmenu.onchange = function() {
window.open( this.options[ this.selectedIndex ].value, "_self" );
};
</script>';
return $string;
}
add_shortcode('rp_dropdown', 'wpb_recentposts_dropdown');
add_filter('widget_text','do_shortcode');
Ora puoi utilizzare lo shortcode [rp_dropdown] nei tuoi articoli, pagine e widget di testo di WordPress. Avrà questo aspetto:

Aggiungere articoli recenti comprimibili utilizzando un plugin
Il metodo sopra elenca semplicemente i tuoi post recenti in un menu a discesa. Un altro modo per risparmiare spazio è aggiungere un elenco comprimibile di post recenti che si espande quando gli utenti ci cliccano sopra.
La prima cosa da fare è installare e attivare il plugin Collapse-O-Matic. Funziona subito e non ci sono impostazioni da configurare.
Il plugin ti permette semplicemente di mostrare qualsiasi cosa in un menu comprimibile utilizzando uno shortcode.
Prima di utilizzare questo plugin, abbiamo bisogno di un modo per mostrare facilmente i post recenti ovunque vogliamo. Aggiungi semplicemente questo codice al file functions.php del tuo tema o a un plugin specifico per il sito.
function wpb_recentposts() {
$string .= '<ul>';
$args = array( 'numberposts' => '5', 'post_status' => 'publish' );
$recent_posts = wp_get_recent_posts($args);
foreach( $recent_posts as $recent ){
$string .= '<li><a href="' . get_permalink($recent["ID"]) . '">' . $recent["post_title"].'</a></li> ';
}
$string .= '</ul>';
return $string;
}
add_shortcode('recentposts', 'wpb_recentposts');
add_filter('widget_text','do_shortcode');
Questo codice ti permette semplicemente di visualizzare un elenco di post recenti utilizzando lo shortcode [recentposts].
Ora aggiungeremo il nostro shortcode nello shortcode di Collapse-O-Matic per creare un elenco comprimibile di post recenti.
Aggiungi semplicemente lo shortcode in questo modo:
[expand title="Post Recenti"][recentposts][/expand]
Puoi aggiungere questo shortcode in un widget di testo, nei post o nelle pagine del tuo sito WordPress. Ecco come appariva sul nostro sito di prova.

Tutto qui, speriamo che questo articolo ti abbia aiutato a mostrare i post recenti come menu a discesa in WordPress. Potresti anche voler vedere questi 6 consigli per creare un calendario editoriale efficace in WordPress.
Se ti è piaciuto questo articolo, iscriviti al nostro Canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.


Mauro Vicariotto
Gentile autore,
c'è un errore di battitura alla riga 2 della tua funzione wpb_recentposts_dropdown():
dovrebbe essere " $string = … " invece di " $string .= … "
Supporto WPBeginner
.= e = hanno usi leggermente diversi. In questo caso d'uso non è un errore di battitura.
Amministratore
Yvonne Manders
Ho commesso un errore e l'ho risolto.
Supporto WPBeginner
Glad you were able to solve the issue
Amministratore
Yvonne Manders
Ciao,
Ho installato il collapse-o-mattic e incollato il codice nel file functions.php.
Dopo di che ho incollato lo shortcode [expand title=”Recent Posts”][recentposts][/expand] in un textwidget, ma non è successo niente.
Mi manca qualcosa?
Cordiali saluti, Yvonne
Supporto WPBeginner
Dovresti inserire lo shortcode nell'editor di testo anziché nell'editor visuale per assicurarti che lo stile non impedisca il corretto funzionamento dello shortcode.
Amministratore
Erika
La riga 3 presenta un errore. Manca la chiusura "/" per il tag option. Questo sta generando un'opzione vuota nel menu.
Supporto WPBeginner
Thank you for letting us know, the code should be fixed now
Amministratore
Amjad
Ciao. Ho usato il codice sopra per mostrare tutti i miei post in un menu a tendina, ma non sono ordinati. Ho due domande qui:
1. Come posso ordinare i post per titolo?
2. Come posso mostrare i post di una categoria specifica nel menu a tendina invece di mostrare tutti i post?
Supporto WPBeginner
Per quello che sembra tu stia cercando, dovresti dare un'occhiata al nostro altro tutorial qui: https://www.wpbeginner.com/plugins/how-to-let-users-filter-posts-and-pages-in-wordpress/
Amministratore
Rolando
Bel articolo! Come si può fare per una categoria specifica e non solo per tutte le tue categorie? Inoltre, si può fare in ordine alfabetico?
Farai Mugaviri
Grazie mille per l'ottimo aiuto. Vorrei anche visualizzare le categorie in un elenco a discesa, se puoi aiutarmi con questo... Ma ora, se aggiorno il mio Wordpress, è possibile? Ho visto da qualche parte che parlavano di sfide nell'aggiornare Wordpress e rischiare di perdere dati a causa della codifica manuale delle funzioni PHP.
Robert
Ottimo strumento, grazie!
È possibile ordinare l'output dei post nell'elenco in ordine alfabetico?
Grazie in anticipo per la tua risposta!
Saluti,
Robert
Andre
È possibile mostrare il menu a tendina degli articoli con un pulsante per inviare?
‘function wpb_recentposts_dropdown() { $string .= ‘ Seleziona la tua scuola’
$args = array( ‘numberposts’ => ‘5’, ‘post_status’ => ‘publish’ );
$recent_posts = wp_get_recent_posts($args); foreach( $recent_posts as $recent ){ $string .= ” . $recent[“post_title”].’ ‘; }
$string .= ‘ TROVA LA SCUOLA ORA var urlmenu = document.getElementById( “submitschool” ); urlmenu.onclick = function() { window.open( this.options[ this.selectedIndex ].value, “_self” ); }; ‘;
return $string; } add_shortcode(‘rp_dropdown’, ‘wpb_recentposts_dropdown’); add_filter(‘widget_text’,’do_shortcode’);
Emily Johns
Materiali molto ordinati!! Ottima lettura e facile da capire.
NG SHAIKH
È un articolo eccellente. I principianti come me possono capire la potenza di WordPress e dei suoi plug-in grazie a questi articoli.
Sarei illuminato se alcuni articoli fossero scritti per visualizzare un messaggio su una pagina specifica e non su tutti i post e le pagine.
Aiuterebbe anche i principianti se alcuni articoli fossero scritti per visualizzare un modulo per l'inserimento dell'utente che possa essere salvato nel database
Julie S
Mi piace molto il menu a discesa degli articoli recenti. Come posso controllare la larghezza di questo menu a discesa? Di default è troppo lungo per la mia barra laterale.
Supporto WPBeginner
Prova a regolare la larghezza usando CSS:
select#rp_dropdown { width:200px; }1-click Use in WordPress
Amministratore