WordPress bietet mithilfe von Datenbankabfragen fast unzählige Möglichkeiten zur Auswertung von Artikeln, Kommentaren, etc.. Diese können dann an geeigneter Stelle im eigenen Theme ausgegeben werden. Hier habe ich mal einige nette Abfragen und Funktionen zusammengestellt.

Eine Liste der Top Ten Tags

Zeigt eine Liste der zehn meistverwendeten Tags eures Blogs. Ich verwende diese Abfrage im Footer.

<?php
$tags = get_tags( array('orderby' => 'count', 'order' => 'DESC', 'number' => '10') );
foreach ( (array) $tags as $tag ) {
echo '<li><a href="' . get_tag_link ($tag->term_id) . '" rel="tag">' . $tag->name . ' (' . $tag->count . ') </a></li>';
}
?>

Eine Liste mit verwandten Artikeln

Zeigt eine Liste mit fünf verwandten Artikeln. Die Verwandschaft wird anhand des ersten Tags ermittelt. Ich nutze diese Abfrage in der single.php.

<?php
// aktuellen Artikel speichern
global $post;
$originalPost = clone $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
  $first_tag = $tags[0]->term_id;
  $args=array(
    'tag__in' => array($first_tag),
    'post__not_in' => array($post->ID),
    'showposts'=>5,
    'caller_get_posts'=>1
   );
  $my_query = new WP_Query($args);
  if( $my_query->have_posts() ) {
    while ($my_query->have_posts()) : $my_query->the_post(); ?>
      <li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a> vom <?php the_time('j. F Y') ?></li>
      <?php
    endwhile;
  } else { echo "Keine ähnlichen Artikel gefunden";
  }
//aktuellen Artikel wiederherstellen
$GLOBALS['post'] = $originalPost;
setup_postdata($originalPost);
}
?>

Liste der letzten fünf Kommentare

Zeigt eine Liste der letzten fünf abgegebenen Kommentare. Nutze ich in der footer.php.

//Abfrage
<?php $comments = $wpdb->get_results("SELECT comment_post_ID, comment_author, comment_author_email, comment_content, comment_date, DATE_FORMAT(comment_date,'%d.%m.%Y um  %H:%i') AS new_comment_date
  FROM $wpdb->comments
  WHERE comment_type = ''
  && comment_approved = '1'
  ORDER BY comment_date
 DESC LIMIT 5"); ?>
//Ausgabe
<?php foreach($comments as $comment) {
  $post = get_postdata($comment->comment_post_ID); ?>
<li>
    <?php echo $comment->comment_author; ?> hat am <?php echo $comment->new_comment_date; ?> den Artikel
    <a href="<?php echo get_permalink($post['ID']); ?>" title="<?php echo $post['Title']; ?>">
      <?php echo $post['Title']; ?></a> kommentiert
</li>
<?php
}
?>

Tag Cloud für Kategorien

Kein Blog ohne Tag Cloud. Aber die Tag Cloud kann nicht nur Tags anzeigen.

<?php
wp_tag_cloud( array( 'taxonomy' => 'category' ) );
?>

Gibt die Tag Cloud ausschließlich mit Kategorien aus.

<?php
  $args = array(
    'taxonomy'  => array('post_tag','category'),
   );
  wp_tag_cloud($args);
?>

Stellt die Tag Cloud mit Tags und Kategorien dar.