このブログの個別記事では、Linkwithinというサービスを使って関連記事をサムネイル付きで表示しています(一部、普通のリストになってしまう記事もある)。ですが、このLinkwithin、何を基準に関連記事を表示しているのかイマイチ分からないので、個別記事のコメントフォームの下にこっそりと関連記事をPHPを使って表示させてみました。記事に付けられているタグを基準にしています。6行目の「’showposts’=>10」というのが表示件数です。まだ試験中なので変な部分があっても気にしないで下さい。
※タグが付けられていない記事は「この記事に関連するかもしれない記事」っていうh3しか表示されない…。誰か助けて下さい。

<div class="post">
    <h3>この記事に関連するかもしれない記事</h3>
    <ul>
        <?php $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'=>10, '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="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
        </li>

    <?php endwhile; wp_reset_query(); ?>
    <?php } else { ?>
    <p>関連する記事は見当たりませんでした…。</p>
    <?php } } ?>
    </ul>
</div>

新しいclassを割り当てるのが面倒だったのでclass=”post”を流用。細かい事は気にしない。


コメントを投稿する

* が付いている項目は必須です。