Möchten Sie den letzten Beitrag aus der WordPress Beitragsschleife ausschließen?
Indem Sie den neuesten Beitrag ausblenden, haben Sie die Möglichkeit, diesen Inhalt an anderen Stellen Ihrer Website anzuzeigen. Sie können sogar Ihr eigenes Styling hinzufügen, damit der neueste Beitrag auf Ihrer Homepage und in den Blogarchiven immer hervorsticht.
In diesem Artikel zeigen wir Ihnen, wie Sie den letzten Beitrag aus der WordPress Beitragsschleife ausschließen können.
Warum sollte der letzte Beitrag aus der WordPress-Beitragsschleife ausgeschlossen werden?
Standardmäßig zeigt WordPress Ihre Blog-Beiträge in umgekehrter chronologischer Reihenfolge an, so dass die neueren Beiträge zuerst erscheinen. Sie können jedoch ändern, wie der neueste Beitrag auf Ihrer benutzerdefinierten Startseite oder WordPress-Archivseite angezeigt wird.
Indem Sie den letzten Beitrag aus der WordPress-Beitragsschleife ausschließen, können Sie diesen Inhalt an einer anderen Stelle anzeigen und sogar Ihr eigenes benutzerdefiniertes Styling hinzufügen.
Sehen wir uns also an, wie Sie den letzten Blogbeitrag ausblenden können, indem Sie ihn aus der WordPress-Beitragsschleife ausschließen. Verwenden Sie einfach die unten stehenden Links, um direkt zu der gewünschten Methode zu gelangen:
Methode 1: Verwendung des WPCode-Plugins (empfohlen)
Der einfachste Weg, den letzten Beitrag aus der Beitragsschleife auszuschließen, ist das Hinzufügen von Code zu Ihrer WordPress-Website.
In einigen Anleitungen wird Ihnen empfohlen, die Themadateien manuell zu bearbeiten, was jedoch zu häufigen WordPress-Fehlern führen und Ihre Website sogar komplett zerstören kann.
Aus diesem Grund empfehlen wir die Verwendung von WPCode. Es ist das beste Code-Snippet-Plugin, mit dem Sie ganz einfach benutzerdefinierten Code in WordPress hinzufügen können, ohne Ihre Website zu gefährden.
Zunächst müssen Sie das kostenlose WPCode-Plugin installieren und aktivieren. Weitere Informationen finden Sie in unserer Schritt-für-Schritt-Anleitung zur Installation eines WordPress-Plugins.
Sobald das Plugin aktiviert ist, gehen Sie zu Code Snippets “ Snippet hinzufügen.
Hier sehen Sie alle vorgefertigten Snippets, die Sie zu Ihrer Website hinzufügen können. Dazu gehört ein Snippet, mit dem Sie Kommentare vollständig deaktivieren, Dateitypen hochladen können, die WordPress normalerweise nicht unterstützt, Seiten mit Anhängen deaktivieren und vieles mehr.
Sie können nun mit der Maus über die Option „Benutzerdefinierten Code hinzufügen (neues Snippet)“ fahren und auf die Schaltfläche „Snippet verwenden“ klicken, wenn diese erscheint.
Geben Sie auf dem nächsten Bildschirm einen Titel für das Code-Snippet ein. Dieser dient nur als Referenz, Sie können also alles verwenden, was Sie wollen.
Öffnen Sie dann das Dropdown-Menü „Code-Typ“ und wählen Sie „PHP Snippet“.
Fügen Sie dann einfach den folgenden Text in den Code-Editor ein:
<?php
function wpsites_exclude_latest_post( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'offset', '1' );
}
}
add_action( 'pre_get_posts', 'wpsites_exclude_latest_post', 1 );
Blättern Sie dann auf der Seite nach unten zum Abschnitt „Einfügung“.
Wenn es nicht bereits ausgewählt ist, wählen Sie „Automatisch einfügen“ und „Überall ausführen“.
Scrollen Sie schließlich zum oberen Rand des Bildschirms und klicken Sie auf den Schieberegler „Inaktiv“, so dass er „Aktiv“ anzeigt.
Klicken Sie dann einfach auf die Schaltfläche „Snippet speichern“ oder „Aktualisieren“, um das Code-Snippet zu aktivieren.
Wenn Sie nun Ihre WordPress-Website besuchen, wird der letzte Blogbeitrag ausgeblendet.
Methode 2: Bearbeiten von WordPress-Theme-Dateien (kein Plugin erforderlich)
Anmerkungen: Diese Anleitung funktioniert nur mit klassischen WordPress-Themes, da Block-Themes einen anderen Satz von Theme-Dateien haben. Wenn Sie ein Block-Theme verwenden, empfehlen wir, die erste Methode zu verwenden.
Wir empfehlen außerdem, zunächst eine Sicherungskopie Ihrer Website zu erstellen und/oder eine Staging-Umgebung zu verwenden, um Fehler bei dieser Methode zu vermeiden.
Eine weitere Möglichkeit, den letzten Beitrag aus der WordPress-Beitragsschleife auszuschließen, ist das Hinzufügen von Code zu Ihren WordPress-Theme-Dateien.
Damit wird ein ähnliches Ergebnis wie mit dem obigen Code erzielt, aber Sie müssen ihn direkt in die WordPress-Schleife einfügen, wo er angezeigt werden soll.
Wenn Sie z. B. die Post-Loop auf Ihrer gesamten Website ändern möchten, müssen Sie den Code in Ihre index.php-Datei
einfügen.
Seien Sie sich nur bewusst, dass das Hinzufügen von Code direkt zu Ihren WordPress-Dateien möglicherweise Probleme mit der Paginierung in Ihrem WordPress-Blog verursachen kann.
Zunächst müssen Sie den Dateimanager Ihres WordPress-Hosting-Anbieters öffnen oder Ihre Website mit einem FTP-Client verbinden.
Für diese Anleitung werden wir den Dateimanager von Bluehost verwenden, da der Vorgang viel einfacher ist als die Verwendung eines FTP. Die Schritte sind jedoch mehr oder weniger dieselben, egal ob Sie einen FTP oder einen anderen Webhost verwenden.
Wenn Sie ein Bluehost-Benutzer sind, loggen Sie sich in das Dashboard Ihres Hosting-Kontos ein und navigieren Sie zur Registerkarte „Websites“. Klicken Sie dann bei der Website, die Sie bearbeiten möchten, auf „Einstellungen“.
Gehen Sie nun zum Abschnitt Quick Links.
Klicken Sie dann auf die Schaltfläche „Dateimanager“. Bluehost zeigt Ihnen auch das Stammverzeichnis Ihrer Website an, wenn Sie es benötigen.
Sobald Sie sich im Dateimanager befinden, müssen Sie die Datei suchen, die Sie bearbeiten möchten. Angenommen, Sie möchten den Code zur index.php
hinzufügen, dann finden Sie ihn im Ordner Ihres aktuellen Themes, der sich in public_html/wp-content befindet.
Dort klicken Sie mit der rechten Maustaste auf die Datei index.php und dann auf „Bearbeiten“.
Nun müssen Sie den folgenden Code kopieren und in Ihre WordPress-Schleife einfügen:
query_posts('posts_per_page=6&offset=1');
Dieser Code weist die Schleife an, nur die 5 Beiträge anzuzeigen, die auf den letzten Beitrag folgen.
Sie müssen den Code direkt über Ihrer WordPress-Schleife einfügen, so dass er ähnlich wie der unten stehende Codeausschnitt aussieht:
<?php
query_posts('posts_per_page=6&offset=1');
if ( have_posts() ) {
// Load posts loop.
while ( have_posts() ) {
the_post();
get_template_part( 'template-parts/content/content', get_theme_mod( 'display_excerpt_or_full_post', 'excerpt' ) );
}
// Previous/next page navigation.
twenty_twenty_one_the_posts_navigation();
} else {
// If no content, include the "No posts found" template.
get_template_part( 'template-parts/content/content-none' );
}
So sieht unser Code im Bluehost-Dateimanager aus:
Sobald Sie den Code hinzugefügt haben, klicken Sie einfach auf die Schaltfläche „Änderungen speichern“.
Machen Sie dann weiter und sehen Sie sich Ihre WordPress-Website an.
Wir hoffen, dass dieser Artikel Ihnen geholfen hat zu lernen, wie Sie den letzten Beitrag aus der WordPress-Schleife ausschließen können. Vielleicht interessieren Sie sich auch für unseren Leitfaden zum Thema “ Geld verdienen mit WordPress-Blogging “ oder für unsere Expertenauswahl der besten Drag-and-Drop-Seitenerstellungsprogramme für WordPress.
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 Facebook finden.
Syed Balkhi says
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
George says
This piece of code has helped solved 90% of an issue on my blog.
WPBeginner Support says
Glad to hear our code was able to help
Admin
ghazali says
Is there anyway for me to remove only top 3 featured post from the homepage?
ivan logan says
How to remove all posts without featured images(thumbnails), I have 9000 to remover them!
Praveen says
Thanks, Good job, Good Solution
Matt says
Beauty post! Simple, clear, and VERY handy. Cheers to you!
Dimarj says
Thanks for this.
BGH_ says
Hey guys, thanks for this article! I want to implement this, but whenever I try I’ve got an strange problem: entries would look like exactly like the frontpage, showing a list of recent post rather than the post itself. My code is slightly different, since is a SMTheme. Any help will be much appreciated. PS: Sorry for posting twice, but the code has printed wrong. Here you go:
space says
Solution is work fine, Thanks. but pagination broke after applying this code, I have tried but not able to work with correct pagination. Any solution to pagination ? .
Rickie Anand says
apply class to the li as per the number of page and a counter & give style to p1c1 as display:none;
Sabi Maharjan says
I have used two plugins. One is „Recent facebook post“ to show recent posts in wprdpress and „Facebook publish page“ to publish my wordpress posts in facebook . Now I want exclude the recent post of the facebook that was already posted from my wordpress posts .
How can I do it ?
WPBeginner Support says
For that your plugin posting content from your Facebook page should have a check to see if a post was already published from WordPress to Facebook. We do not recommend users to directly edit plugin files. However, if you are comfortable editing php files then you can fork the plugin as a new plugin and then add the code to accomplish this.
Admin
Pastor Wynn says
Thanks for the great tip. I had spent hours trying to figure this out, and you made it so simple!
Gu-ens says
Thanks a lot.
the ‚post__not_in‘ option does not work in wordpress 3.5
Jim says
Hmm, when i tried this code on a category page loop, it couldn’t keep the posts for only that category, instead it acted as if it was the front page loop and displayed all posts.
Amin says
Thank you so much man! This helped a lot!
Regards!
Fernando says
Thanks a lot!! very usefull tip!
GangeshMatta says
Thanks!
PabloCovarrubias says
hello, i just have one question, when i do this, pagination doesen0t work anymore, how can i fix this?
thanks, other than that, it works perfectly!!
cheers!
space says
Yes, pagination not working. you have found any working solution for pagination, I am still searching ..
Kev Bowman says
Did you ever find a solution for this?
de hams says
pagination do not work on index page most so we can make out own ajax pagination call and mostly query_posts() works for pagination rather then WP_Query()
Jon says
Thanks so much for this! I couldn’t figure it out at all but this worked perfectly.
Wordpwess says
Is there a way to offset a post from one cat?
E.g I want to show all posts apart from the LATEST post of category x
Editorial Staff says
Yes, you can just select category_in parameter, and add your category ID.
Admin
Luka says
Thanks mate, you save my day
Khurram says
„query_posts(‚posts_per_page=6&offset=1‘);“ this is not worked for me , while i am using the WP-PageNavi plugin for page navigation.
Editorial Staff says
what error are you getting?
Admin
Ken says
Thanks for the info. Worked well Though, I’m encountering another issue for another site I’m currently doing. Is there a way to exclude from the loop only the latest post of a particular category?
Thing is, I’ve a blog that publishes podcasts. The front page highlights the most recent podcast – posts are published under category: Podcast – via its own styling. At the same time, the front page also shows the last 5 most recent posts, of which may include posts under the category „podcast“. I just don’t want to show in the loop the most recent post published under „Podcast“ simply because it’s already featured with it’s own styling. Hope you can help me out. thanks!
Editorial Staff says
You can exclude all posts from the category „postcast“ from your loop if you want. But there is no simple way of excluding just the latest post.
Admin
Joffrey says
Thanks for the tip!
But I was wondering if there is also a way to exclude the post that is currently showed on screen.
If yes, can you tell me how to do this?
Thanks in advance!
Editorial Staff says
Don’t really understand your question? Which screen?
Admin
Joffrey says
One of my pages displays first of all the latest or current post the user is viewing.
The current post is called by the loop.
Below this post I want to display the excerpts of other previous posts without the current post displayed in this list.
The previous post-excerpts are called by query_posts:
query(’showposts=3&cat=5′);
while($previousPosts->have_posts()) : $previousPosts->the_post();
?>
As you can see I call 3 posts(excerpts) from category 5 which displays three posts from category News. This seems ok but within these 3 post-excerpts, the current post which is called by the loop is also in this list.
Do you know a way to exclude the current post within this list?
Thanks again!
Editorial Staff says
You can add offset=1 in the query to skip the first post.
Joffrey says
Thanks again for the quick response!
However, I did try the offset=1 in the query, only thing is that when you press an older post, you get to see the older post in the main loop, within the list excerpts the latest post is excluded, but the older post which is now the current post is still in the excerpts list.
Any idea how to exclude not the latest but the current post?
Thanks so far already
Editorial Staff says
Email us the live link to the site, so we can see exactly whats going on. Use the contact form for email.
Bilal Ahmed says
Thank you so much for this piece as i was looking for a way to exclude 4 latest posts form my home page and i got answer by this articles and i have replaced (query_posts(‚posts_per_page=6&offset=1‘);) by query_posts(‚posts_per_page=6&offset=3‘); and its done
Jeremy says
Where exactly do you put this code to remove al posts but the sticky on the main page.
Thanks,
Editorial Staff says
That is a multi-step process. First you would need to have a custom page template. Second you would need to create that custom page, your front page. Then you would run a query on that custom template showing only sticky posts.
Admin
dominik says
Thanks, it was exactly what I was looking for! Thanks for any other hints.
Morning Copy says
Thanks for this. Nice solution for magazine-style layouts.