Ich gestalte die Kategorieseite. Ich habe eine Schleife, die die untergeordneten Kategorien für die aktuelle Kategorie anzeigt. Für jede untergeordnete Kategorie möchte ich einen Link zum neuesten Artikel anzeigen. Derzeit ist der Link für alle untergeordneten Kategorien gleich, auch wenn der angezeigte Artikel nicht in dieser Kategorie ist. Was mache ich falsch?
<?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="https://stackoverflow.com/questions/35532889/<?php%20echo%20get_category_link($cat->cat_ID);%20?>"><?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%20echo%20get_permalink($recent["id"]); ?>"><?php echo substr($recent["title"], 0, 48).'...'; ?></a></dd>
</dl>
</div>
</div>
<?php endforeach;
endif; ?>