Hm, also wenn Du nicht unbedingt fixiert bist auf query_posts(), kann Dir evtl. get_posts() weiterhelfen. Ich mache es bei mir mit folgendem Code in meiner Sidebar, man müsste eben nur den category-Parameter einsetzen:
echo '<h2>Neuste Blog-Einträge</h2>');
$mycat_content = get_posts('');
$mycat_output = '';
if (is_array($mycat_content)) {
foreach ( $mycat_content as $mycat_post ) {
$mycat_output .= '<h3><a href="' . get_permalink($mycat_post->ID) .'" title="' . $mycat_post->post_title.'">'.$mycat_post->post_title. '</a></h3>';
}
}
echo $mycat_output;
Alles anzeigen
Das Problem bei Dir ist, dass Du es auf die Kategorien bezogen haben willst und dass Deine sidebar.php vor dem Hauptinhalt geladen wird. D.h. Du kannst zu dem Zeitpunkt, wo die sidebar.php geladen wird, noch gar nicht die ID jeweilige Kategorie rausfinden. Außerdem ist die Seitenleiste außerhalb des Loops, insofern gibt es eh nicht immer genau eine ID. Du müsstest also nun einen Spezialfall für die Einzelansicht definieren, und für diesen die jeweilige ID rausfinden. Gäbe es nicht die Möglichkeit, die Sidebar nach rechts zu legen? Dann wäre das bedeutend einfacher.