記事の下に、前の記事・次の記事のリンクが表示されますが、現在の記事と関連ある記事を表示してほしいですよね。
ということで、前の記事・次の記事のリンクを現在の記事と同じカテゴリーの記事のみにする方法を説明します。
この記事で説明する方法は、WordPressテーマの実装によって異なります。
このブログのテーマは「SANGO」を使用しているので、SANGOでは有効ですが他のテーマの場合当てはまらないことがあります。
ですが、使っているWordPressの関数は参考になると思います。

実現方法が似ている記事があるので、こちらもご覧ください。

やりたいことの図解
やりたいことは「前の記事・次の記事のリンクを、現在読んでいる記事のカテゴリーと同じカテゴリーの記事にする」です。
現在読んでいる記事のカテゴリーが「WordPress」の場合は、前の記事が「Python」カテゴリーの記事なので、前の記事が「WordPress」の記事になるようにしたいです。

現在読んでいる記事のカテゴリーが「Python」の場合は、次の記事が「WordPress」カテゴリーの記事なので、次の記事が「Python」の記事になるようにしたいです。

前の記事・次の記事のリンクを現在の記事と同じカテゴリーにする
変更手順
以下の変更方法を見て、必要に応じてバックアップをしてください。
SANGOはprev-next-entry.phpでget_adjacent_postを使っていました。
root/wp-content/themes/sango-theme/parts/single/prev-next-entry.php
root/wp-content/themes/sango-theme/parts/single/prev-next-entry.php
親テーマと同じパスとなるように、子テーマにコピーする。
存在しないディレクトリは新規作成する。
root/wp-content/themes/sango-theme-child/parts/single/prev-next-entry.php
引数$in_same_termは1番目の引数です。
root/wp-content/themes/sango-theme-child/parts/single/prev-next-entry.php
に上書きする。
実装方法
prev-next-entry.phpを変更します。
変更前のprev-next-entry.phpの前半部分は以下のようになっていました。
1番目の引数$in_same_termはfalseになっています。
<?php /** * 前の記事へ、次の記事へ */ $prev_post = get_adjacent_post( false, '', true ); $next_post = get_adjacent_post( false, '', false ); if ( $prev_post || $next_post ) : ?> <div class="prnx_box"> ※以降、省略。
次のように変更してください。
1番目の引数$in_same_term=trueにすることで、同じカテゴリーのリンクが選ばれます。
<?php /** * 前の記事へ、次の記事へ */ $prev_post = get_adjacent_post( true, '', true ); $next_post = get_adjacent_post( true, '', false ); if ( $prev_post || $next_post ) : ?> <div class="prnx_box"> ※以降、省略。

使用したWordPressのget_adjacent_post関数の仕様を載せておきます。
変更結果
現在読んでいる記事のカテゴリーが「WordPress」の場合は、前の記事も次の記事も「WordPress」の記事になりました。

現在読んでいる記事のカテゴリーが「Python」の場合は、前の記事も次の記事も「Python」の記事になります。
しかし、現在の記事以降に「Python」カテゴリーの記事がまだ無い場合は以下のように次の記事は表示されません。
