Я разрабатываю страницу категории. У меня есть цикл, который отображает дочерние категории для текущей категории. Для каждой дочерней категории я хотел бы показать ссылку на последнюю статью. В настоящее время ссылка одинакова для всех дочерних категорий, даже если отображаемая статья не относится к этой категории. Что я делаю не так?Как я могу получить последнее сообщение из категории в 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; ?>