Rapide, simple. J'ai front-page.php
travaille dans Wordpress, et ces boucles couvrent la boucle principale pour mes derniers messages. Le problème est le modèle de pagination.
Quand j'arrive à site.com/page/2
, il affiche le même modèle de fichier front-page.php
, mais avec le second tour de messages. Ce que je veux, c'est montrer un autre modèle de fichier, tel que paged.php
, mais même pas archive.php
ni date.php
ne s'affiche.
Y at-il un code pour cela, au lieu d’écrire if (!is_paged())
en enveloppant l’ensemble du fichier page-page.php?
Ajoutez un filtre à frontpage_template
et cochez la variable paged
, en ajoutant votre propre modèle lorsqu'il dépasse la première page. J'utilise paged.php
dans cet exemple:
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' );
Notez que l'entrée de codage relative à la hiérarchie de filtres est incorrecte, sous la forme front_page_template
, mais que la fonction qui applique ce filtre semble supprimer le trait de soulignement de la variable avant de l'appeler, rendant juste frontpage_template
.