コードと解説
関連記事に置き換えるものを考えてますので「single.php」に記述します。
single.php
<?php $cats = get_the_category(); //記事が2つ以上の場合表示 if(($cats[0]->count) > 1 ): ?> <div> <h4>その他の記事</h4> <ul> <?php $posts = get_posts('numberposts=5&exclude='.get_the_ID().'&category='.$cats[0]->term_id); if($posts): foreach($posts as $post) : setup_postdata($post); ?> <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li> <?php endforeach; endif; ?> </ul> </div> <?php endif; ?>
「get_the_category」で所属しているカテゴリー情報を取得することができます。
この中の[count]がそのカテゴリーに所属している記事の数なので、この数が1より大きい(2以上)の場合のみ表示します。
「get_posts」で取得する記事の条件を指定します。
numberposts | 表示する記事の数 |
---|---|
exclude | 除外する記事のID |
category | カテゴリー指定 |
excludeに現在記事のID(get_the_ID)、categoryには所属しているカテゴリーID($cats[0]->term_id)を指定します。
あとはいつものようにループして表示させるだけですね。