J'ai une requête personnalisée qui appelle des pages dans un tableau comme suit:
<?php
$args = array(
'post__in' => array( 2, 7, 9, 11, 13 , 15, 17 ),
'post_type' => 'page',
'orderby' => 'menu_order',
'order' => 'ASC'
);
$the_query = new WP_Query( $args );
while ( $the_query->have_posts() ) : $the_query->the_post();
?>
Est-il toujours possible de cibler des pages individuelles du tableau pour modifier le code d’une page à l’autre, c.-à-d.
<?php if(is_page(7)) { ?>
// do something
<?php } else { ?>
// do something else
<?php } ?>
dans cette requête ou dois-je interroger chaque page dans une requête distincte?
J'utilise cette requête pour rassembler plusieurs pages dans un modèle (front-page.php) afin de disposer d'une mise en page unique, c'est-à-dire de tout le contenu d'une page. Je souhaite donc utiliser des conditions dans la boucle pour plus de clarté dans mon code. .
Vous préféreriez plutôt utiliser l'ID de publication dans la boucle pour cibler vos pages. is_page()
vérifie simplement si la page en cours est réellement une page ou une page spécifique si une valeur est passée
if ( $post->ID === 7 ) {
// Do something for page id 7
} else {
// Do something for other pages
}