WordPressを使ってホームページを運営しているクライアント様より「人気のある記事を表示させたい」との要望があり、実装した方法を紹介します。

<ul>
<?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 10");
foreach ($result as $post) {
setup_postdata($post);
$postid = $post->ID;
$title = $post->post_title;
$commentcount = $post->comment_count;
if ($commentcount != 0) { ?>
<li>
<a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>(<?php echo $commentcount ?>)">
<?php echo $title ?>
</a>
</li>
<?php }} ?>
</ul>

上記の例では、コメントの数が多い記事を人気がある記事と見なし、上位トップ10の記事をリスト表示させています。