WordPressでプラグインなしで関連する記事を一発で呼び出す関数をfunctions.phpに記述してみる

WordPressのログイン時のツールバー

WordPressのシングルページで、よく記事の終わりにその記事に関連する記事のリストがあったりしますよね。あるのとないのではPVも多少変わってくるかと思うのでできればつけてあげると読者もうれしいかと思います。で、シングルページに直接書いてもいいんですが、コードがちょっとゴチャゴチャしちゃうのもあれかなと思ってfunctions.phpに書いてみました。こうすればシングルページからその関数を呼び出すだけなのでとてもシンプルになるかと思います。

やり方

ということで以下をfunctions.phpに記述します。

function related_post_list($show_num) {
    global $post;
    $tags = wp_get_post_tags($post->ID);
    $tagIDs = array();
    if ($tags) {
        $tagcount = count($tags);
        for ($i = 0; $i < $tagcount; $i++) {
            $tagIDs[$i] = $tags[$i]->term_id;
        }
        $args=array(
            'tag__in' => $tagIDs,
            'post__not_in' => array($post->ID),
            'showposts'=>$show_num,
            'caller_get_posts'=>1
        );
        $my_query = new WP_Query($args);
        if( $my_query->have_posts() ) {
            while ($my_query->have_posts()) {
                $my_query->the_post();
                echo '<li><span>';
                the_time('Y年m月d日');
                echo '</span><a href="';
                the_permalink();
                echo '" title="';
                the_title_attribute();
                echo '">';
                the_title();
                echo '</a></li>';
            }
            wp_reset_query();
        }else {
            echo '<li>関連する記事は見当たりません。</li>';
        }
    }
}

参考サイト

あとはシングルページから以下のように呼び出すだけでOKです。

<h4>関連する記事</h4>
<ul>
    <?php related_post_list(5); ?>
</ul>

引数に指定している5は表示される件数です。ここの値を変えることで表示件数も変えることができます。

これでテーマファイルもシンプルに見やすくなりますね。以上、ほぼ自分用のメモでした!

スポンサーリンク

スポンサーリンク

アクセスランキング

Tags

Archives