Du är förmodligen bekant med kategorivyn i WordPress. Nyligen frågade en av våra läsare oss om det var möjligt att visa senaste inlägg i en rullgardinsmeny också. I den här artikeln visar vi hur du visar senaste inlägg som en rullgardinsmeny i WordPress.

Varför och vem behöver de senaste inläggen i en rullgardinsmeny?
WordPress levereras med en inbyggd widget för de senaste inläggen widget som du kan lägga till i valfritt sidofält eller widget-redo område.
Den här widgeten visar helt enkelt en lista över de senaste inläggen, och du kan välja antalet inlägg du vill visa. Men om du vill visa fler än 5-10 inlägg, kommer listan att ta mycket plats i din sidofält.
Vissa WordPress-användare kan behöva ett kompakt sätt att visa de senaste inläggen. I så fall kan användning av rullgardinsmenyer eller hopfällbara listor hjälpa dig att spara utrymme.
Låt oss titta på ett par olika sätt att visa de senaste inläggen som en rullgardinsmeny i WordPress.
Visa WordPress senaste inlägg i en enkel rullgardinsmeny (manuell kod)
Denna metod använder den inbyggda funktionen wp_get_recent_posts. Allt du behöver göra är att kopiera och klistra in följande kod i din temas functions.php-fil eller ett webbplatsspecifikt plugin.
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');
Nu kan du använda shortcode [rp_dropdown] i dina WordPress-inlägg, sidor och textwidgets. Det kommer att se ut så här:

Lägga till kollapsbara senaste inlägg med ett plugin
Ovanstående metod listar helt enkelt dina senaste inlägg i en rullgardinsform. Ett annat sätt att spara utrymme är att lägga till en hopfällbar lista med de senaste inläggen som expanderar när användarna klickar på den.
Det första du behöver göra är att installera och aktivera pluginet Collapse-O-Matic. Det fungerar direkt ur lådan, och det finns inga inställningar för dig att konfigurera.
Pluginet låter dig helt enkelt visa vad som helst i en utfällbar meny med hjälp av en kortkod.
Innan vi använder detta plugin behöver vi ett sätt att enkelt visa de senaste inläggen var vi vill. Lägg helt enkelt till denna kod i din temas functions.php-fil eller ett webbplatsspecifikt plugin.
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');
Den här koden låter dig helt enkelt visa en lista över de senaste inläggen med kortkoden [recentposts].
Nu kommer vi att lägga till vår kortkod i Collapse-O-Matic-kortkoden för att skapa en hopfällbar lista med de senaste inläggen.
Lägg bara till kortkoden så här:
[expand title="Senaste inläggen"][recentposts][/expand]
Du kan lägga till denna kortkod i en textwidget, inlägg eller sidor på din WordPress-webbplats. Så här såg det ut på vår testwebbplats.

Det var allt, vi hoppas att den här artikeln hjälpte dig att visa de senaste inläggen som en rullgardinsmeny i WordPress. Du kanske också vill se dessa 6 tips för att skapa en killer redaktionell kalender i WordPress.
Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videohandledningar. Du kan också hitta oss på Twitter och Facebook.
Mauro Vicariotto
Kära författare,
det finns ett stavfel i rad 2 i din funktion wpb_recentposts_dropdown():
det borde vara ” $string = … ” istället för ” $string .= … “
WPBeginner Support
.= och = har lite olika användningsområden. I det här fallet är det inte ett stavfel.
Admin
Yvonne Manders
Jag gjorde ett misstag och löste det.
WPBeginner Support
Glad you were able to solve the issue
Admin
Yvonne Manders
Hej,
Jag installerade collapse-o-mattic och klistrade in koden i filen functions.php.
Efter det klistrade jag in kortkoden [expand title=”Recent Posts”][recentposts][/expand] i en textwidget, men ingenting hände.
Saknar jag något?
Bästa hälsningar, Yvonne
WPBeginner Support
Du vill placera kortkoden i textredigeraren snarare än i den visuella redigeraren för att säkerställa att ingen stil blockerar kortkoden från att fungera.
Admin
Erika
Rad 3 har ett fel. Den avslutande alternativtaggen saknar sitt avslutande “/”. Detta genererar ett tomt alternativ i menyn.
WPBeginner Support
Thank you for letting us know, the code should be fixed now
Admin
Amjad
Hej där. Jag har använt koden ovan för att visa alla mina inlägg i en rullgardinsmeny men den är inte sorterad. Jag har två frågor här:
1. Hur kan jag sortera inlägg efter titel?
2. Hur kan jag visa inlägg från en specifik kategori i rullgardinsmenyn istället för att visa alla inlägg?
WPBeginner Support
För vad det låter som du vill ha, bör du titta på vår andra handledning här: https://www.wpbeginner.com/plugins/how-to-let-users-filter-posts-and-pages-in-wordpress/
Admin
Rolando
Fin artikel! Hur kan man göra det för en specifik kategori och inte bara alla dina kategorier? Kan det också göras alfabetiskt?
Farai Mugaviri
Tack så mycket för den stora hjälpen. Jag skulle också vilja visa kategorier i en rullgardinslista, om du kan hjälpa till med det…. Men nu, vad händer om jag uppdaterar min Wordpress, är det ens möjligt? Jag såg någonstans att de pratade om utmaningar när man uppdaterar wordpress och riskerar att förlora data på grund av hårdkodning av PHP-funktioner
Robert
Bra verktyg, tack för det!
Är det möjligt att sortera inläggen i listan i alfabetisk ordning?
Tack på förhand för ditt svar!
Med vänliga hälsningar,
Robert
Andre
Är det möjligt att visa inläggsrullgardinsmenyn med en knapp för att skicka?
‘function wpb_recentposts_dropdown() {
$string .= ‘
Välj din skola
$args = array( ‘numberposts’ => ‘5’, ‘post_status’ => ‘publish’ );
$recent_posts = wp_get_recent_posts($args);
foreach( $recent_posts as $recent ){
$string .= ” . $recent[“post_title”].’ ‘;
}
$string .= ‘
HITTA SKOLA NU
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
Mycket snyggt material!! Bra läsning och lätt att förstå.
NG SHAIKH
Det är en utmärkt artikel. Nybörjare som jag kan förstå kraften i WordPress och dess plugins genom sådana artiklar.
Jag skulle bli upplyst om några artiklar skrevs för att visa ett meddelande på en specifik sida och inte på alla inlägg och sidor.
Det skulle också hjälpa nybörjare om några artiklar skrevs för att visa ett formulär för användarinmatning som kan sparas i databasen
Julie S
Jag gillar verkligen rullgardinsmenyn med senaste inlägg. Hur kan jag styra bredden på denna rullgardinsmeny? Den är som standard för lång för mitt sidofält.
WPBeginner Support
Försök att justera bredden med CSS:
select#rp_dropdown { width:200px; }1-click Use in WordPress
Admin