Je suis en train de concevoir la page catégorie. J'ai une boucle qui affiche les catégories enfant pour la catégorie actuelle. Pour chaque catégorie d'enfant, j'aimerais afficher un lien vers le dernier article. Actuellement, le lien est le même pour toutes les catégories enfants, même lorsque l'article affiché ne fait pas partie de cette catégorie. Qu'est-ce que je fais mal?Comment puis-je obtenir le dernier message d'une catégorie dans WordPress?
<?php
$cat_id = get_query_var('cat');
$categories = get_categories(array('parent' => $cat_id));
if(count($categories) > 0):
foreach($categories as $cat):
$args = array(
'numberposts' => 1,
'offset' => 0,
'category' => $cat->cat_ID,
'orderby' => 'ID',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish',
'suppress_filters' => true);
$the_query = new WP_Query($args);
$the_query->the_post();
if ($the_query->have_posts()) :
while ($the_query->have_posts()) : $the_query->the_post();
$recent['title'] = get_the_title();
$recent['id'] = get_the_ID();
wp_reset_postdata();
endwhile;
endif;
wp_reset_postdata(); ?>
<div class="media category-list">
<div class="media-body">
<div class="details">
<h3><a href="<?php echo get_category_link($cat->cat_ID); ?>"><?php echo $cat->name; ?></a></h3>
<p><?php echo $cat->description; ?></p>
</div>
<dl>
<dt>Article Total:</dt><dd><?php echo $cat->count; ?></dd>
<dt>Last Article:</dt><dd><a href="<?php echo get_permalink($recent["id"]); ?>"><?php echo substr($recent["title"], 0, 48).'...'; ?></a></dd>
</dl>
</div>
</div>
<?php endforeach;
endif; ?>