Wie werden die beliebtesten Posts aus bestimmten Kategorien in der Seitenleiste angezeigt?

Angenommen, ich habe ein Menü basierend auf Kategorien (Jazz, Rock, Klassik). Ich möchte die beliebtesten Posts (im Sidebar-Widget) anzeigen, je nachdem, auf welcher Seite ich bin (auf der Jazz-Seite hätte ich gerne die beliebtesten Jazz-Posts und so weiter). Ich habe es versucht:

// Get current page category $categories_popular = get_the_category(); $page_category_name_popular = $categories_popular[0]->cat_name; while ( $popularpost->have_posts() ) : $popularpost->the_post(); get_the_category_list(); if ( in_category($page_category_name_popular) ) { // Check if post matches page category ?> ... 

Aber dieser Code führt zu einigen seltsamen Fehlern (manchmal funktioniert es, manchmal nicht). Was mache ich falsch? Vielen Dank

EDIT Die ganze function (für die höchste Anzahl von Kommentaren, aber Problem ist das gleiche):

 function wpb_most_commented_posts() { // start output buffering ob_start(); ?> 
cat_name; // Get page category. Should be cat_slug?? // Run WP_Query $query = new WP_Query(array('orderby' => 'comment_count', 'posts_per_page' => '5', 'category_name' => $page_category_name_commented)); //loop while ($query->have_posts()) : $query->the_post(); ?>
...
<?php $output = ob_get_clean(); return $output; }

Solutions Collecting From Web of "Wie werden die beliebtesten Posts aus bestimmten Kategorien in der Seitenleiste angezeigt?"