Diese Anleitung löst folgende Aufgabenstellung: Es sollen nur Artikel anzeigen, die aus diesem UND dem letztem Monat stammen.
Nach herumprobieren lässt sich feststellen, dass
WP_Query(‘orderby=date&order=DESC&cat=xxx&monthnum=9,10′)
nicht funktioniert. Mit der Variable monthnum lässt sich lediglich ein Monat steuern.
Folgendes Work-Around löst jedoch das Problem:
$this_month = date(“n”);
$last_month = $this_month-1;
$my_query1 = new WP_Query(‘cat=xxx&monthnum=’.$this_month);
$eins = $my_query1->found_posts;
$my_query2 = new WP_Query(‘cat=xxx&monthnum=’.$last_month);
$zwei = $my_query2->found_posts;
$zeige = $eins + $zwei;
$my_query = new WP_Query(‘orderby=date&order=DESC&cat=xxx&showposts=’.$zeige);
Dabei werden zuerst die Anzahl der Artikel aus dem aktuellen und dem vorigen Monat (in der entsprechenden Kategorie) aus der Datenbank ausgelesen. Anschließend werden die beiden Zahlen addiert und diese Anzahl von Beiträge abgerufen und angezeigt.
Nach einigem Überlegen bin ich auf diese etwas umständliche aber gute und funktionierende Lösung gekommen.
Ähnliche Einträge:

![[Valid RSS]](http://www.beezo.de/wp-content/themes/arclite/images/valid-rss-rogers.png)
#1 by molly on Freitag, 19. November 2010
Zitieren
für wp anfänger: wo soll das denn eingefügt werden, damit es funktioniert?
#2 by Benjamin Strauß on Freitag, 19. November 2010
Zitieren
Der Code wird eingefügt in die entsprechende Datei im Theme. Die Theme-Dateien befinden sich unter /wp-content/themes/…
Sollen die Einträge beispielsweise auf der Startseite angezeigt werden, so ist home.php der richtige Ort.
Um die genaue Datei herauszufinden, empfehle ich die Template Hierarchie: http://codex.wordpress.org/Template_Hierarchy
#3 by molly on Freitag, 19. November 2010
Zitieren
Danke für die schnelle Antwort. Ich meinte allerdings die genaue Stelle in der Datei wo der Code eingefügt werden muss und ob noch etwas dazu kommt wie zB. der zuerst genannter Code.
#4 by Benjamin Strauß on Samstag, 20. November 2010
Zitieren
Der Code wird direkt über dem Loop eingefügt.
Außerdem muss dieser etwas abgewandelt werden. Üblicherweise sieht der Loop so aus:
< ?php
if (have_posts()) {
while (have_posts()) : the_post(); ?>
// Anzeige der Posts
< ?php
endwhile;
} ?>
Der erste Teil muss modifiziert werden zu:
< ?php
if ($my_query->have_posts()) {
while ($my_query->have_posts()) : $my_query->the_post();
?>
#5 by irene on Donnerstag, 1. September 2011
Zitieren
ich suche etwas ähnliches, aber für die letzten 3 monate anstatt 2 monate. wo muss ich da etwas in deinem code modifizieren, damit das funktioniert?
#6 by Benjamin Strauß on Donnerstag, 1. September 2011
Zitieren
Hallo irene,
du müsstest noch drei Zeilen hinzufügen:
$last_last_month = $this_month-2;
$my_query3 = new WP_Query(‘cat=xxx&monthnum=’.$last_last_month);
$drei = $my_query3->found_posts;
Außerdem muss die Variable $zeige modifiziert werden:
$zeige = $eins + $zwei + drei;
Danach müsste es klappen. Viele Grüße Benjamin
#7 by irene on Donnerstag, 1. September 2011
Zitieren
Hi Benjamin
Was ich eigentlich bräuchte wäre eine Aufteilung in jeweils in 3 Monate, in diesem Sinne:
Danke für deine schnelle Antwort. Es funktioniert zwar, aber es ist nicht das, was ich suche. Mein Fehler
1. Archiv: Januar 2011, Februar 2011, März 2011
2. Archiv: April 2011, Mai 2011, Juni 2011
Vielleicht weisst du wie das geht, ansonsten schaue ich mich sonst mal um.
Danke nochmals.
Grüsse Irene