J'aimerais afficher uniquement l'extrait du premier message de ma requête principale. Je me demandais quelle était la meilleure façon de procéder.
Ce que j'ai essayé jusqu'à présent c'est:
nth-child
.Les deux fonctionnent assez bien, mais je me demandais s'il y avait une meilleure façon de le faire, via une fonction ou un filtre.
Merci!
Vous pouvez utiliser $wp_query->current_post
dans votre boucle pour vérifier la publication actuelle. Vous n'avez pas besoin de deux boucles, on fera l'affaire Si vous avez besoin d'extrait pour le premier post seulement, vous pouvez faire quelque chose comme ça. Rappelez-vous simplement que le premier message de la boucle est 0
, et non 1
if ( !$wp_query->current_post > 0 ) :
the_excerpt();
else :
<--- DO SOMETHING ELSE FOR OTHER POSTS
endif;
Pour toutes les variables membres WP_Post
, vérifiez le lien fourni à partir du codex.
Vous pouvez le définir avec un compteur. En utilisant la boucle par défaut comme exemple:
<?php
$firstExcerpt = 0; // Set the variable to 0 so we can check for it later.
if ( have_posts() ) : while ( have_posts() ) : the_post();
?>
<h2><?php the_title(); ?></h2>
<?php
if ($firstExcerpt < 1) { // Check if it's been displayed
the_excerpt();
$firstExcerpt++; // Changes the variable so that next time, it won't show
};
?>
<?php endwhile; endif; ?>
Qu'en est-il de quelque chose de simple comme:
$i = 1;
if( have_posts() ) {
while( have_posts() ) {
the_post();
if( 1 == $i ) {
the_excerpt();
}
// the rest of your loop
$i++;
}
}