みなためラボ

【コピペOK】WordPressの投稿ページで同カテゴリーの最新記事一覧5件の表示方法

文字サイズ

はじめに

どうも! みなため(@MinatameT)です。

この記事では、次の画像のように「投稿と同じカテゴリーの記事一覧(最新5件)」を表示する方法を紹介します。

同じカテゴリーの記事一覧

ちなみに、この画像は当サイトのものです。

それでは、その方法をさっそく確認していきます。

手順1:投稿ページの「カテゴリー」の設定をする

まずは、投稿ページ(記事)の編集画面を開きます。

エディターの右側(ブロックではなく文書のほう)に、次のような「カテゴリー選択部分」があります。

ここで、その記事にふさわしいカテゴリーを、1つだけ選択しておいてください

例えば、上の画像の場合なら「プログラミング」のカテゴリーを選択していますね。

手順2:投稿ページに投稿と同じカテゴリーの最新記事一覧を追加する

以下のソースコードを、「WordPressの管理画面」>「外観」>「テーマエディター(テーマの編集)」>「個別投稿 (single.php) 」にコピペ(コピーして貼り付け)してください。

なお、貼り付ける場所は、投稿と同じカテゴリーの最新記事一覧を表示させたいところにしてください。最後の行に貼り付けるのが無難だと思います。

<h2 class="natural"><?php the_category(' // ') ?>カテゴリーの最新記事(5件)</h2>
<?php
foreach((get_the_category()) as $cat)
{
  $catid = $cat->cat_ID;
  break;
}
$get_posts_parm = "'numberposts=5&category=" . $catid . "'";
?>
<ul>
  <?php $posts = get_posts($get_posts_parm); ?>
  <?php foreach($posts as $post): ?>
  <li class="single">
    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
  </li>
  <?php if(has_post_thumbnail()): ?>
  <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail(array(300,300)); ?></a>
  <?php endif; ?>
  <?php endforeach; ?>
  <p>
    <a href="<?php echo get_category_link($catid); ?>">もっと見る >></a>
  </p>
</ul>

貼り付けたら、次の画像のような「ファイルを更新」ボタンをクリックします。

ここでうまく更新できない場合は、HTMLとPHPがごちゃごちゃになっている可能性がありますので、貼り付けたコードを次のコードに変更してみてください。

?>
<h2 class="natural"><?php the_category(' // ') ?>カテゴリーの最新記事(5件)</h2>
<?php
foreach((get_the_category()) as $cat)
{
  $catid = $cat->cat_ID;
  break;
}
$get_posts_parm = "'numberposts=5&category=" . $catid . "'";
?>
<ul>
  <?php $posts = get_posts($get_posts_parm); ?>
  <?php foreach($posts as $post): ?>
  <li class="single">
    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
  </li>
  <?php if(has_post_thumbnail()): ?>
  <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail(array(300,300)); ?></a>
  <?php endif; ?>
  <?php endforeach; ?>
  <p>
    <a href="<?php echo get_category_link($catid); ?>">もっと見る >></a>
  </p>
</ul>
<?php

先頭に「?>」、末尾に「<?php」をつけることによって、PHPからHTMLへと部分的に切り替えただけですが、おそらくうまくいったと思います。

これで、投稿に投稿と同じカテゴリーの最新記事(5件)が表示されるようになりました!

改善点はまだまだあると思いますが、今回のところは以上です。皆さん、お疲れ様でした。


 

みなためじゃんけん

このコーナーは、私と擬似的にじゃんけんできるコーナーです。

みなためじゃんけん、じゃんけんぽん!

私が出したのは……





チョキ

チョキでした! グーの勝利です!



この記事をSNSでシェアする

プログラミングカテゴリーの最新記事(5件)

最新記事(10件)

管理人のTwitter

内部リンク集