WordPress laden Indexseite anstelle von archive.php

ich habe

index.php archive.php ... 

Wenn ich auf domain.com gehe, lädt es index.php, was erwartet wird.

Aber wenn ich www.domain.com/page/2/ gehe, lädt es die richtigen Posts (wie in den Posts auf der zweiten Seite), aber verwendet in der index.php Vorlage . Ich möchte die archive.php Vorlage laden. Wie ist das erreichbar?

Solutions Collecting From Web of "WordPress laden Indexseite anstelle von archive.php"

archive.php wird nicht für nachfolgende Seiten von Nicht-Such-, Nicht-Taxonomie-, … basierten Teilmengen von Inhalten verwendet.

Ich denke, dass Sie paged.php suchen (aber das wird auch für die erste Seite verwendet).

Alternativ fügen Sie der index.php Logik hinzu, um eine andere Vorlage aufzurufen, deren Seitenzahl größer als eins ist.

Korrektur beim Überprüfen http://codex.wordpress.org/Template_Hierarchy#Visual_Overview pages.php ist nicht die Antwort. Paged (dh nicht einzelne) Beiträge verwenden home.php ansonsten nur index.php .

Sie müssen also Ihre eigene Logik (vermutlich in home.php ) verwenden, um index.php oder eine benutzerdefinierte Vorlage für Posts zu verwenden.

(Diese Antwort zeigt die WP-Logik, um zu entscheiden, welche Vorlage verwendet werden soll.)

Hier ist, wie Sie dies tun würden, da es keine native function von WP ist.

Überprüfen Sie im Grunde, ob $ paged eingestellt ist, was Sie tun können, indem Sie is_paged () innerhalb einer Bedingung aufrufen.

 < ?php if ( ! is_paged() ) : // code for home page else: // code for archive page endif; ?> 

Durch die Verwendung von Vorlagen kann diese index.php immer noch ordentlich aussehen.

Sie müssen jedoch sicherstellen, dass Sie das tun, obwohl:

 < ?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?> 

Vor der Home-Abfrage oder der Archivabfrage.