Viele unserer Leser, die Anfänger sind, fangen bald an, ihre WordPress-Themes zu ändern. Deshalb haben wir einen WordPress-Theme-Spickzettel, um ihnen den Einstieg zu erleichtern. Das bringt einige interessante Herausforderungen für neue Benutzer mit sich. Ein solcher Leser fragte uns kürzlich, wie man die Beiträge der letzten Woche in WordPress anzeigen kann. Er wollte einfach nur einen Abschnitt auf seiner Homepage hinzufügen, der die Beiträge der letzten Woche anzeigt. In diesem Artikel zeigen wir Ihnen, wie Sie die Beiträge der letzten Woche in WordPress anzeigen können.
Bevor wir Ihnen zeigen, wie Sie die Beiträge der Vorwoche anzeigen können, sehen wir uns zunächst an, wie Sie die Beiträge der aktuellen Woche mit WP_Query anzeigen können. Kopieren Sie den folgenden Code und fügen Sie ihn in die Datei functions.php Ihres Themes oder in ein Site-spezifisches Plugin ein.
function wpb_this_week() { $week = date('W'); $year = date('Y'); $the_query = new WP_Query( 'year=' . $year . '&w=' . $week ); if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <h2><a href="<?php the_permalink(); ?>" title="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2> <?php the_excerpt(); ?> <?php endwhile; ?> <?php wp_reset_postdata(); ?> <?php else: ?> <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p> <?php endif; }
Im obigen Beispielcode haben wir zunächst die aktuelle Woche und das Jahr ermittelt. Dann haben wir diese Werte in WP_Query verwendet, um die Beiträge der aktuellen Woche anzuzeigen. Jetzt müssen Sie nur noch <?php wpb_this_week(); ?>
in Ihre Themadatei einfügen, wo Sie die Beiträge anzeigen möchten.
Das war doch ganz einfach, oder? Um nun die Beiträge der letzten Woche anzuzeigen, müssen Sie nur noch 1 vom Wochenwert abziehen. Wenn dies jedoch die erste Woche des Jahres ist, erhalten Sie 0 für die Woche und das aktuelle Jahr anstelle des letzten Jahres. So beheben Sie dieses Problem.
function wpb_last_week_posts() { $thisweek = date('W'); if ($thisweek != 1) : $lastweek = $thisweek - 1; else : $lastweek = 52; endif; $year = date('Y'); if ($lastweek != 52) : $year = date('Y'); else: $year = date('Y') -1; endif; $the_query = new WP_Query( 'year=' . $year . '&w=' . $lastweek ); if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <h2><a href="<?php the_permalink(); ?>" title="Permanent link to <?php the_title(); ?> "><?php the_title(); ?></a></h2> <?php the_excerpt(); ?> <?php endwhile; ?> <?php wp_reset_postdata(); ?> <?php else: ?> <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p> <?php endif; }
In dem obigen Beispielcode haben wir zwei Prüfungen eingebaut. Die erste Prüfung setzt den Wert der letzten Woche auf 52 (das ist die letzte Woche im Jahr), wenn der Wert der aktuellen Woche 1 ist. Die zweite Prüfung setzt den Wert des Jahres auf das letzte Jahr, wenn der Wert der letzten Woche 52 ist.
Um die Beiträge der letzten Woche anzuzeigen, müssen Sie lediglich <?php wpb_last_week_posts(); ?>
in die Vorlagendatei Ihres Themas an der Stelle einfügen, an der Sie sie anzeigen möchten. Oder wenn Sie einen Shortcode haben möchten, mit dem Sie diesen in eine Seite oder ein Widget einfügen können, fügen Sie einfach diese Zeile unter dem oben angegebenen Code ein.
add_shortcode('lastweek', 'wpb_last_week_posts');
Sie können diesen Shortcode nun in einem Beitrag, einer Seite oder einem Widget wie diesem verwenden:
[lastweek]
Bitte beachten Sie, dass Sie nicht immer WP_Query benötigen, um eigene Abfragen zu erstellen. WordPress verfügt über eine Handvoll Funktionen, mit denen Sie die letzten Beiträge, Archive, Kommentare usw. anzeigen können. Wenn es einen einfacheren Weg gibt, die vorhandenen Funktionen zu nutzen, dann brauchen Sie nicht unbedingt eigene Abfragen zu schreiben.
Wir hoffen, dass dieser Artikel Ihnen geholfen hat, die Beiträge der letzten Woche in WordPress anzuzeigen. Experimentieren Sie mit dem Code und passen Sie ihn an Ihre Bedürfnisse an. Lassen Sie uns wissen, wenn Sie Fragen haben, indem Sie unten einen Kommentar hinterlassen oder folgen Sie uns auf Twitter.
Ali Hesari
This is very useful for me. Thank you.
hitesh
this is very useful for us. keep it
Kenny
This would be great if a YouTube video was made available
Allison
I am curious about when/why I would want to display the week’s posts? On my home page, I display excerpts, so the posts from my past 2 weeks or so are visible. What am I missing here? Thanks!
WPBeginner Support
You don’t need to. But some other website owners may have a layout where they might want to display previous week’s posts separately. This tutorial is aimed to help those users.
Admin
faisal adil
Awesome
Chris McCoy
you could also take advantage of the new date query http://www.viper007bond.com/2013/08/27/date-queries-in-wordpress-3-point-7/
WPBeginner Support
Yes date_query can also be used to achieve the same goal.
Admin