Schnell und einfach. Ich habe front-page.php
in Wordpress, und diese Schleifen über die Hauptschleife für meine neuesten Beiträge. Das Problem ist die Paginierungsschablone.
Wenn ich zu site.com/page/2
komme, wird dieselbe Dateivorlage front-page.php
angezeigt, jedoch mit der zweiten Runde von Beiträgen. Ich möchte, dass andere Dateivorlagen wie paged.php
angezeigt werden, aber nicht einmal archive.php
oder date.php
.
Gibt es einen Code dafür, anstatt if (!is_paged())
die gesamte front-page.php zu schreiben?
Fügen Sie einen Filter zu frontpage_template
hinzu, und überprüfen Sie die Abfragevariable paged
, und fügen Sie Ihre eigene Vorlage hinzu, wenn die erste Seite überschritten wird. Ich benutze paged.php
in diesem Beispiel:
function wpa56889_template_filter( $templates = '' ){
$paged = get_query_var( 'paged' );
if( $paged > 1 ) :
if( !is_array( $templates ) && !empty( $templates ) ) :
$templates = locate_template( array( "paged.php", $templates ), false );
elseif( empty( $templates ) ) :
$templates = locate_template( "paged.php", false );
else :
$new_template = locate_template( array( "paged.php" ) );
if( !empty( $new_template ) ) array_unshift( $templates, $new_template );
endif;
endif;
return $templates;
}
add_filter( 'frontpage_template', 'wpa56889_template_filter' );
Beachten Sie, dass der Filterhierarchie-Codex-Eintrag den Filter fälschlicherweise als front_page_template
auflistet, aber die Funktion, die diesen Filter anwendet, scheint den Unterstrich der Variablen vor dem Aufrufen zu bereinigen. macht es einfach frontpage_template
.