WP_query-Problem ohne Posts

Ich verwende ein Formular für meine Archivseite, damit der Benutzer angeben kann, welche Beiträge angezeigt werden sollen und wie diese angezeigt werden sollen. Ich habe es eingerichtet, so dass sie aufsteigende oder absteigende Reihenfolge, Beiträge pro Seite usw., mit $ _GET in meinen Formularen wählen können. Ich habe jedoch auch ein Formular eingerichtet, um die Anzeige nach Jahr / Monat zu setzen:

 Month January February March 

usw. für den ganzen Monat und den gleichen für das Jahr

dann sehen meine Abfrageargumente folgendermaßen aus:

 $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1; $custom_args = array( 'post_type' => 'post', 'posts_per_page' => $_GET["posts-per-page"], 'paged' => $paged, 'order' => $_GET["order"], "orderby" => "date", "year" => $_GET["year"], "monthnum" => $_GET["monthnum"] ); $custom_query = new WP_Query( $custom_args ); 

Bis jetzt habe ich ein paar Posts hinzugefügt, um die Dinge zu testen, also sind sie alle August 2015 und wenn ich diese durch $ _GET setze, zeigt es sich gut, aber wenn ich versuche, Januar oder jeden anderen Monat außer August zu machen, wird meine Archivseite umgeleitet die Seite mit der Schleife, die index.php in meinem Fall ist und es “keine Beiträge …” anzeigt, während es auf der gleichen Seite bleiben und “Keine Beiträge …” darauf anzeigen sollte. wie ich es eingerichtet habe. Es besteht keine Notwendigkeit, den Rest des Codes zu posten, da ich herausgefunden habe, dass die Umleitung unmittelbar nach dem Erstellen neuer WP_query erfolgt. Was könnte dieses Problem verursachen? Wieder funktionieren $ _GET [“Beiträge pro Seite”] und $ _GET [“Bestellung”] wie erwartet.

Solutions Collecting From Web of "WP_query-Problem ohne Posts"

Indem Sie die GET Variablen wie year oder monthnum Sie die URL-Umschreibung effektiv ab (wenn Sie hübsche Permalinks verwenden). Auf diese Weise werden Sie zuerst die Haupt- WP_Query Instanz abfragen und effektiv Ihre komplett nutzlos machen (Sie ändern das posts_per_page Attribut, so dass es das gibt). Wie auch immer, der Punkt ist, dass es eine Basisklasse WP gibt, die eine 404 ausgibt, wenn die WP_Query Haupt-Instanz keine Posts WP_Query (was der Fall ist) und die 404 Vorlage aufgerufen wird (wenn Ihr Theme diese hat) oder wenn sie fehlt Indexvorlage wird verwendet (was durch Ihre Frage bestätigt zu sein scheint).

Nun, die schnellste Lösung besteht darin, Ihre GET Variablen im q_year in q_year oder q_monthnum umzubenennen.