Benutzerdefinierte Post Typ Paginierung 404 fix?

8

Ich habe versucht, das den ganzen Tag zum Laufen zu bringen, hatte aber kein Glück ...

Ich habe einen benutzerdefinierten Beitragstyp namens "Nachrichten" und eine Archivvorlage (archive-news.php). Hier möchte ich 2 Beiträge mit Paginierung anzeigen, was gut funktioniert, bis ich versuche, zur "nächsten Seite" zu wechseln ( / news / page / 2), die einen Fehler 404 zurückgibt.

Irgendeine Idee, wie man das behebt / was ich falsch mache?

Ich habe buchstäblich den ganzen Tag damit verbracht, eine Lösung für dieses Problem zu finden, indem ich Google und die WordPress-Formulare durchsucht habe. Ich habe viele Lösungen gefunden, von denen bisher keine funktioniert hat.

Meine benutzerdefinierte Funktion für den Beitragstyp: http://pastebin.com/uG1L6YNu
Druck für meine Umschreiberegeln: http://pastebin.com/jbaDANYr

Dale-Anthony
quelle
oh und auch ... Meine news-archive.php Datei: pastebin.com/vjcx77F7
Dale-Anthony

Antworten:

16

Dies funktioniert jetzt für mich ... für diejenigen unter Ihnen, die das gleiche Problem haben, stellt sich heraus, dass der gesamte Code korrekt war.

Das Problem war, dass WordPress so eingerichtet ist, dass standardmäßig 10 Beiträge pro Seite angezeigt werden, was mit meiner Abfrage kollidierte (Beschränkung auf 2 Beiträge), um das Problem zu beheben. Ich habe die WordPress-Einstellung (Einstellungen / Lesen im Admin-Dashboard) auf 1 geändert.

Dale-Anthony
quelle
1
Dieses Problem tritt ständig auf. IMHO, benutzerdefinierte Beitragstypen sind keine regulären Beiträge, daher sollte es für jeden Beitragstyp eine separate Abfragevariable posts_per_page geben. Wie auch immer, hier ist eine Antwort, die zeigt, wie man im laufenden Betrieb mit dem Wert von posts_per_page herumfummelt, ohne die Einstellungen im Administrator zu beeinträchtigen: wordpress.stackexchange.com/questions/30757/…
Dave Romsey
Diese Frage von goto10 funktioniert wie ein Zauber und es ist besser, wenn Sie die Einstellung "Beiträge pro Seite" weiterhin für andere Seiten verwenden möchten. Ich bin immer noch gespannt, warum dies passiert. Dies ist das erste Mal, dass mir dies passiert ist für Benutzer posts_per_pagewie gewohnt, ohne dass dies mit den WP-Einstellungen in Konflikt gerät.
Javier Villanueva
2
Vielen Dank für diese Info! Ich habe mir die Haare ausgezogen und mit den Regeln für das Umschreiben und allem anderen herumgespielt, und es stellt sich heraus, dass dies das Problem ist.
Chaser324
Es ist 2019 und diese Antwort ist immer noch gültig! Tolle.
Cenlan
7

Ich habe die Lösung hier gefunden: http://walrusinacanoe.com/web-development/742

Es ist elegant und funktional:

add_action( 'parse_query','changept' );
function changept() {
    if( is_category() && !is_admin() )
        set_query_var( 'post_type', array( 'post', 'your_custom_type' ) );
    return;
}
Evaevans
quelle
1
Das hat bei mir tatsächlich funktioniert. Die andere Lösung (WP-Admin / Einstellungen / Lesen / 1) funktionierte überhaupt nicht. Danke dafür! (Stunden verschwendetes Debuggen und Suchen)
TCattd
0

Sie haben dies wahrscheinlich versucht, aber das Zurücksetzen der Permalinks kann dieses Problem lösen. Gehen Sie zu Einstellungen-> Permalinks und speichern Sie die Permalinks erneut.

danielwiener
quelle
Danke, ich habe es versucht, aber das Problem blieb bestehen.
Dale-Anthony