WordPress har den här mycket coola funktionen som kallas fästa inlägg. Tänk på fästa inlägg som utvalda inlägg för din blogg. När du markerar ett inlägg som fäst, visas det ovanför dina nya inlägg, men bara om ditt tema tillåter det. I den här handledningen visar vi hur du visar de senaste fästa inläggen i WordPress.

Notera: Detta är en handledning på mellannivå och kräver grundläggande kunskaper i HTML/CSS + kunskaper om WordPress-teman.
Videohandledning
Om du inte gillar videon eller behöver mer instruktioner, fortsätt att läsa.
Det första du behöver göra är att kopiera och klistra in detta kodavsnitt i din temas functions.php-fil eller i ett webbplatsspecifikt plugin.
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');
Koden ovan frågar WordPress-databasen för att hämta de 5 senaste klistrade inläggen. Den visar sedan varje klistrat inläggs titel med en länk i listformat. Vi har slagit in allt det i en funktion och skapat en kortkod.
Nu kan du visa dina senaste klistrade inlägg med kortkoden [latest_stickies] i vilket WordPress-inlägg, sida eller till och med en textwidget som helst.
Om du vill använda kortkoder i en textwidget måste du lägga till denna extra kodrad i din temas functions.php eller en webbplatsspecifik plugin.
add_filter('widget_text', 'do_shortcode');
Detta kodavsnitt och funktion kan mycket väl användas i en framträdande slider, eller någon annan avancerad funktion som du vill visa på din webbplats. Detta kodavsnitt är mestadels inriktat på en WordPress-webbplats som har en anpassad startsida eller ett tidningsliknande utseende.
Det var allt, vi hoppas att den här artikeln hjälpte dig att visa de senaste klistrade inläggen på din WordPress-blogg. Du kanske också vill kolla in vår handledning om hur du lägger till ett utgångsdatum för klistrade inlägg i WordPress.
Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Google+.
umair
mycket informativa ansträngningar gjorda av dig, den här koden fungerar perfekt,
Jag har en fråga att jag har flera kategorier & underkategorier, så jag vill bara göra ett klistrigt inlägg för varje kategori separat, och visas på kategorilistan där alla inlägg i den specifika kategorin listas, som (Sportkategori->ett klistrigt inlägg – matlagningsreceptskategori -> ett klistrigt inlägg) etc
Sön
Tack för att du fick mig på rätt spår!!
Koden fungerar utmärkt för att få titeln att visas där kortkoden klistras in.
Jag försökte dock hitta en metod för att visa hela inlägget (allt innehåll, istället för bara en titel eller till och med ett utdrag) på en specifik sida.
Jag bestämde mig för att leka med din kod ovan för att försöka uppnå detta och lyckades till slut…
Även om titeln visas i samma storlek som paragraftext, är jag säker på att jag kan fixa det.
Here’s what I changed…please let me know if you think there’s something I should reconsider lest the whole world explodes
Jag ändrade helt enkelt din get_the_excerpt() text till get_the_content() och detta drog fram hela blogginlägget till den sidan.
För att ta bort punktlistans indrag tog jag sedan bort " " " " taggarna, men var tvungen att lämna apostroferna på plats, annars skulle sidan inte laddas.
Så i grund och botten, där " eller " fanns tidigare, finns det nu bara " och så vidare.
Det var allt jag ändrade och det fungerar mestadels som en charm för mig...
Det finns 2 problem jag märkte:
1: Ibland laddas det mesta av inlägget, men inte alltid ända till slutet, särskilt om inlägget redigeras efteråt... Någon med förslag för att säkerställa att detta inte händer?
2: Jag skulle älska om den utvalda bilden också visades, detta skulle göra det till den ultimata flexibla lösningen! Några tankar här?
Tack igen för rådet!
Hoppas det jag förklarade ger mening för alla som vill uppnå samma sak som jag var ute efter.
Achi Baten
Hur kan jag visa startsideinlägg som du?
WPBeginner Support
Vår webbplats använder ett anpassat tema som är utformat specifikt för våra egna behov. Du kan dock hitta liknande funktionalitet i vissa magasin-teman där ute.
Admin
richard
Hej
Tack för din kod. Jag försöker dock uppnå något och har 2 problem.
Jag vill bara visa ett klistrat inlägg på min startsida och bara YouTube-videon som finns i innehållet.
Faktiskt visar jag titeln och allt innehåll i ett inlägg (inklusive texter, bilder och videor).
Andra problemet är att det visar youtube som en länk och inte bäddar in videon direkt på min startsida.
Tack för din hjälp
Raviraj
Hej,
Jag har provat med koden, den fungerar bra när minst 1 inlägg har tilldelats som klistrigt inlägg, annars när inga inlägg är tilldelade som klistriga, då kommer den att visa alla senaste 5 inlägg.
Så skulle villkoret vara för att visa endast klistriga inlägg, om inga klistriga inlägg är tilldelade då ska det inte visas något.
Tack på förhand
WPBeginner Staff
Tack för att du påpekade detta. Vi har uppdaterat koden.
AnastisSourgoutsidis
‘caller_get_posts’ har ersatts av ‘ignore_sticky_posts’ sedan v3.1 så jag tror att det är viktigt att ändra din kod för att återspegla det.
Dessutom, a) $post->ID behövs inte i den här instansen av get_permalink() eftersom du har ställt in postdata genom att anropa $the_query->the_post(), och om du av någon anledning fortfarande vill inkludera $post->ID, bör du göra den global, dvs. global $post;