Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man visar senaste inlägg som en rullgardinsmeny i WordPress

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.

Lägg till de senaste inläggen som en rullgardinsmeny

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:

Senaste inlägg i en rullgardinsmeny på en WordPress-webbplats

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.

Hopfällbar lista över de senaste inläggen

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.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

18 CommentsLeave a Reply

  1. 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 .= … “

    • .= och = har lite olika användningsområden. I det här fallet är det inte ett stavfel.

      Admin

  2. 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

    • 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

  3. Rad 3 har ett fel. Den avslutande alternativtaggen saknar sitt avslutande “/”. Detta genererar ett tomt alternativ i menyn.

  4. 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?

  5. 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?

  6. 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

  7. 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

  8. Ä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’);’

  9. 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

  10. 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.

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.