Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Wie man die neuesten Sticky Posts in WordPress anzeigt

WordPress hat eine sehr coole Funktion namens “ Sticky Posts“. Sticky Posts sind so etwas wie „Featured Posts“ für Ihren Blog. Wenn Sie einen Beitrag als „sticky“ markieren, wird er über den neuen Beiträgen angezeigt, allerdings nur, wenn Ihr Theme dies zulässt. In diesem Tutorial zeigen wir Ihnen, wie Sie die neuesten „sticky posts“ in WordPress anzeigen können.

Latest Sticky Posts Demo

Hinweis: Dies ist ein Tutorial für Fortgeschrittene und erfordert grundlegende HTML/CSS-Kenntnisse sowie Kenntnisse über WordPress-Themes.

Video-Tutorial

Subscribe to WPBeginner

Wenn Ihnen das Video nicht gefällt oder Sie weitere Anweisungen benötigen, lesen Sie bitte weiter.

Als Erstes müssen Sie diesen Codeschnipsel kopieren und in die Datei functions.php Ihres Themes oder in ein Site-spezifisches Plugin einfügen.


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');

Der obige Code fragt die WordPress-Datenbank ab, um die 5 letzten Sticky Posts zu ermitteln. Anschließend wird der Titel jedes Sticky-Posts mit einem Link in einem Listenformat angezeigt. Wir haben das Ganze in eine Funktion verpackt und einen Shortcode erstellt.

Jetzt können Sie den Shortcode [latest_stickies] in jedem WordPress-Beitrag, auf jeder Seite oder sogar in einem Text-Widget verwenden, um Ihre neuesten Sticky Posts anzuzeigen.

Wenn Sie Shortcodes in einem Textwidget verwenden möchten, müssen Sie diese zusätzliche Codezeile in der functions.php Ihres Themes oder in einem Site-spezifischen Plugin hinzufügen.

add_filter('widget_text', 'do_shortcode');

Dieses Snippet und diese Funktion können sehr gut in einem Featured Slider oder einer anderen erweiterten Funktion verwendet werden, die Sie auf Ihrer Website anzeigen möchten. Dieses Snippet ist vor allem auf eine WordPress-Site ausgerichtet, die eine benutzerdefinierte Homepage oder ein Magazin-Stil Aussehen hat.

Wir hoffen, dass dieser Artikel Ihnen geholfen hat, die neuesten Sticky Posts in Ihrem WordPress-Blog anzuzeigen. Sehen Sie sich auch unser Tutorial zum Hinzufügen eines Verfallsdatums zu Sticky Posts in WordPress an.

Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Videotutorials. Sie können uns auch auf Twitter und Google+ finden.

Offenlegung: Unsere Inhalte werden von unseren Lesern unterstützt. Das bedeutet, dass wir möglicherweise eine Provision verdienen, wenn Sie auf einige unserer Links klicken. Mehr dazu erfahren Sie unter Wie WPBeginner finanziert wird , warum das wichtig ist und wie Sie uns unterstützen können. Hier finden Sie unseren redaktionellen Prozess .

Das ultimative WordPress Toolkit

Erhalte KOSTENLOSEN Zugang zu unserem Toolkit - eine Sammlung von WordPress-bezogenen Produkten und Ressourcen, die jeder Profi haben sollte!

Reader Interactions

8 KommentareEine Antwort hinterlassen

  1. umair

    very informative efforts made by you, this code works perfectly fine,
    i have a question that i have multiple categories & sub-categories, so i just want to make a sticky post to each category separately, and displayed on category list page where all posts of that specific category listed, like (Sports category->one sticky post – cooking recipes category -> one sticky post) etc

  2. Dom

    Thanks for getting me on the right track!!
    The code works great in getting the Title to show up where the short code is pasted.

    However, I was trying to find a method to display the entire post (all content, in stead of just a title or even excerpt) on a specific page.

    I decided to play with your code above in order to try and achieve this and finally managed…
    Although the title displays the same size as paragraph text, I’m sure I can fix that.

    Here’s what I changed…please let me know if you think there’s something I should reconsider lest the whole world explodes ;)

    I simply changed your get_the_excerpt() text to get_the_content() and this successfully pulled in the entire blog post into that page.
    In order to remove the bulleted indentation I then removed the “ “ “ “ tags, but had to leave the apostrophes in place, otherwise the page wouldn’t load.
    So in essence, where “ or “ was before, now there is only “ and so on.

    That’s all I changed and it mostly works like a charm for me…
    There are 2 issues I noticed:
    1: Sometimes it loads most of the post, but not always right down to the end, especially if the post is edited afterwards…anyone with suggestions to ensure this doesn’t happen?
    2: I’d love if the featured image would also show up, this would make it the ultimate flexible solution! Any thoughts here?

    Thanks again for the advice!

    Hope what I explained makes sense to anyone who wants to achieve the same as I was after.

  3. Achi Baten

    How can i show homepage post like you?

  4. richard

    Hello

    Thank you for your code. However i try to achieve something and i have 2 issues.

    I want to display only one sticky post on my home page and only the youtube video present on the content.

    ACtually i display the title and all the content of a post (include texts, pictures and videos).
    Second problem is that it display youtube as a link and not embed directly the video into my homepage.

    Thank you for your help

  5. Raviraj

    Hi,

    I have tried out with the code, It works fine when at least 1 post has been assigned as sticky post else when none of the posts are assigned a sticky, then it will display all latest 5 posts.

    So would be the condition to display only sticky posts, if there are no sticky posts assigned then It should not display anything.

    Thanks in advance

  6. AnastisSourgoutsidis

    ‚caller_get_posts‘ has been replaced by ‚ignore_sticky_posts‘ since v3.1 so I think its important to change your code to reflect that.
    Also, a) $post->ID is not needed in this instance of get_permalink() as you’ve setup the post data by calling $the_query->the_post(), and if for whatever reason you still want to include $post->ID, you should be global-ing it, i.e. global $post;

Eine Antwort hinterlassen

Danke, dass du einen Kommentar hinterlassen möchtest. Bitte beachte, dass alle Kommentare nach unseren kommentarpolitik moderiert werden und deine E-Mail-Adresse NICHT veröffentlicht wird. Bitte verwende KEINE Schlüsselwörter im Namensfeld. Lass uns ein persönliches und sinnvolles Gespräch führen.