Mit Schlagwort getaggte Beiträge als Liste in Post ausgeben

In WordPress kann man problemlos alle mit einem bestimmten Tag versehenen Beiträge in einer Liste ausgeben lassen, schwieriger wird es allerdings wenn innerhalb einer Seite oder in einem Artikel die neuesten x Artikel gelistet werden sollen, die mit einem bestimmten Tag versehen wurden.

Tag-Liste im Page-Template

Genau diese Lösung wurde aber benötigt, um eine sich selbst aktualisierende Liste von Beiträgen auf einer Seite darzustellen; etwas Recherche brachte mich zu einem interessanten Lösungsansatz: hier wird eine Liste von Tags erstellt und gleichzeitig mit den aktuellsten Artikeln die mit dem jeweiligen Schlagwort versehen wurden ausgegeben (das Ganze MUSS außerhalb des Loops im Template platziert werden):

<?php
function getPageContent($pageId)
{
if(!is_numeric($pageId))
{
return;
}
global $wpdb;
$sql_query = 'SELECT DISTINCT * FROM ' . $wpdb->posts .
' WHERE ' . $wpdb->posts . '.ID=' . $pageId;
$posts = $wpdb->get_results($sql_query);
if(!empty($posts))
{
foreach($posts as $post)
{
return nl2br($post->post_content);
}
}
}
?>

Um nur die aktuellesten Artikel eines spezifischen Tags zu listen muss diese Lösung etwas umgeschrieben werden:

<?php
$postsRight = new WP_Query();
$postsRight->query("tag=tag-slug&showposts=5");
?>
<?php if ( $postsRight->have_posts() ) :?>
<ul>
<?php while ( $postsRight->have_posts() ) : $postsRight->the_post(); ?>
<li><a title="<?php the_title(); ?>" href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
<?php endwhile;?>
</ul>
<?php endif; ?>
<?php unset($postsRight);
?>

Durch das Anpassen des Tag-Slugs werden die aktuellsten 5 Beiträge, die mit diesem Schlagwort versehen wurden, im Template aufgerufen.
[info] Alternativ kann auch der RSS-Feed des jeweiligen Schlagworts aufgerufen werden.
[/info]