ショウジンブログ on Hatena

“お芝居をしないと、この社会では異邦人として扱われるほかない”

同じカテゴリの投稿を表示させる@WordPress

表示している投稿と同じカテゴリに属する他の投稿を表示させる。

表示している記事は除いてランダムに。ランダムである必要がなければ orderby=RAND()は不要。

当該記事の除外はexludeで記事IDを指定。

下記のコード例ではアイキャッチ画像のあるなしを判別する条件文やそれ以外の不要な記述(本件とは関係ない)もありますので、そこは適宜割愛してください。

<h4 class="report">関連記事へGO!</h4>

<div class="clearfix">
     <?php
          $currentId = $post->ID;
          $cat = get_the_category();
          $cat = $cat[0]->cat_ID;
          $rand_posts = get_posts('numberposts=7&category='.$cat.'&orderby=RAND()&exclude='.$currentId);
          if($rand_posts):
          foreach($rand_posts as $post):
     ?>

     <div class="related-case">
          <div class="body">
               <a href="<?php the_permalink(); ?>">
               <?php // アイキャッチ画像の有無で判別
                    if(has_post_thumbnail()){ // アイキャッチがある時
                         echo '<a href="' . get_permalink() . '" class="thumb">' . the_post_thumbnail( array(130, 130) ) . '</a>';
                    } else { // アイキャッチがない時
                         echo '&nbsp;';
                    }
               ?>
               </a>
               <dl>
                    <dt><dfn><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dfn></dt>
                    <dd><!-- 同一カテゴリの記事をループさせているのでカテゴリ名はあえて出力はせず -->&nbsp;</dd>
               </dl>
          <!-- // .body --></div>
     <!-- // .related-case --></div>
     <?php endforeach;  endif;?>
<!-- // .clearfix --></div>

隠し剣孤影抄 (文春文庫)

隠し剣孤影抄 (文春文庫)