はじめに
どうも! みなため(@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件)が表示されるようになりました!
改善点はまだまだあると思いますが、今回のところは以上です。皆さん、お疲れ様でした。