Ok, ich probier's mal. Ist aus oben verlinktem Beispiel angepasst und ungetestet. Zuerst brauchst Du die Funktion, welche das ganze ausgibt. Kannst Du wahlweise in die functions.php oder oben in die sidebar.php schreiben, was Dir lieber ist:
/**
* Displays postings of the given category outside of the loop.
*
* @param headline The headline to display above the postings.
* @param category_id The ID of the category to display postings from.
* @param count The number of postings to display.
*/
function my_list_posts($headline, $category_id, $count) {
global $post;
// keep global variable, retrieve posts from database
$post_old = $post;
$posts = get_posts('category=' . $category_id . '&numberposts=' . $count . '&offset=0');
// print headline
if (count($posts) > 0) {
echo $headline . '<ul>';
}
// print the posting headlines
foreach ($posts as $post) {
echo '<li>';
echo '<a href="' . get_permalink() . '">';
the_title();
echo '</a>';
// echo ' (';
// the_time('j. m Y');
// echo ', ';
// the_time('H:i');
// echo ' Uhr)';
echo '</li>';
}
// end the post list
if (count($posts) > 0) {
echo '</ul>';
}
// restore the global post
$post = $post_old;
}
Alles anzeigen
Und dann die Ausgabe selber, an die entsprechende Stelle der sidebar.php (beides natürlich in einen PHP-Bereich):
// display the latest x postings of a category on static pages
if (is_page()) {
// get the ID of the category
$my_cat_id = get_post_meta($post->ID, 'my_sidebar_category', true);
if (!$my_cat_id) {
$my_cat_id = 1;
}
// display the latest x postings of the category
if ($my_cat_id > 0) {
my_list_posts(
"Die letzten Beiträge", // Titel der Auflistung
$my_cat_id, // ID der Kategorie
5 // Anzahl der anzuzeigenden Beiträge
);
}
}
Alles anzeigen
Damit müsstest Du an statischen Seiten das Custom Field "my_sidebar_category" speichern. Als Wert nimmst Du die ID der Kategorie. Falls das Feld nicht vorhanden ist, habe ich oben mal als Default die Kategorie mit der ID 1 gesetzt. Falls in dem Fall nichts angezeigt werden soll, lösche diese Zeilen einfach raus:
if (!$my_cat_id) {
$my_cat_id = 1;
}
Verbessern könnte man das noch, in dem z.B. der Titel über den Postings von der gewählten Kategorie abhängt. Im Moment ist es immer der gleiche Titel.
So, ich hoffe, das funktioniert. Wie gesagt, ist ungetestet und kann also noch Flüchtigkeitsfehler enthalten.