J'ai le code suivant pour faire une boucle foreach, je veux cibler le dernier élément de la boucle (par exemple, s'il est bouclé sur 3 événements, je veux cibler le 3ème événement) pour faire quelque chose de légèrement différent avec le css. Comment je ferais ça?
<?php $pages = get_pages(array('child_of' => $post->ID, 'sort_column' => 'menu_order'));
foreach($pages as $post)
{
setup_postdata($post);
$fields = get_fields();
?>
<div class="event">
<img class="event-thumbimage" src="<?php echo $fields->thumb_image; ?>" height="120" width="140" alt="<?php echo $fields->event_title; ?>" />
<h2><?php echo $fields->event_title; ?></h2>
<p>
Location: <?php echo $fields->location; ?><br />
Start: <?php echo $fields->start_date; ?> at <?php echo $fields->start_time; ?>
<?php $fields = get_acf(); if($fields->end_date != "") : ?>
, End: <?php echo $fields->end_date; ?> at <?php echo $fields->end_time; ?>
<?php else : ?>
<?php endif; ?>
</p>
<p style="margin-bottom:0px!IMPORTANT;"><?php echo substr($fields->description,0,170) . "..."; ?></p>
<p><a class="read-more" href="<?php echo get_page_link($post->ID); ?>" title="Read more about: <?php echo $fields->event_title; ?>">Read more...</a></p>
</div>
<?php } wp_reset_query(); ?>
Vous pouvez essayer ceci:
foreach( $pages as $key => $post )
et :
<div class = "event <?php if( $key == ( count( $pages ) - 1 ) ) echo 'last'; ?>" >
Cela ajoutera une classe last
à votre dernière div. event
.
Puisque $pages
est un tableau, obtenez son compte par $pages_count = count( $pages );
puis dans la boucle, conservez un compteur incrémenté à chaque itération de la boucle et comparez-le s'il est égal au compte if ( $pages_count == $counter++ )