質問: get_previous_post(true); の部分で、**同一カテゴリ内の、ページ送りが出来ているのですが、 この部分をサブカテゴリ(子カテゴリ)内のリンクに変更する方法**はありますか? お詳しい方に、ご教授頂けますと、大変ありがたいです。 どうぞよろしくお願い致します。 【補足1】 例えば、このページでしたら、 http://tetra-themes.com/wordpress-link-158/ フッター付近の「前の記事」「次の記事」の部分を、サブカテゴリ内の記事のみにするための記述を模索しています。 (通常は、サイト内の全記事にリンクし合っている部分です。) どうぞよろしくお願い致します。 【補足2】 上記コードは、サイト全体の、投稿ページのテンプレートのphpとなっています。 サイト内では、複数のサブカテゴリを設定しているため、テンプレートを変更することで、記事投稿のページ送りを、ずべてサブカテゴリ内で巡回させる方法を模索しております。 各サブカテゴリ番号を指定する方法以外の、「サイト内の投稿」全ページに、適用できるような記述の方法がありますと、大変ありがたいです。 【補足3】 カテゴリIDを、指定せずに、同一のサブカテゴリ内の記事を、ページ送りで、数珠つなぎにしたいのですが、一括で、記述できる方法を模索しております。 下記URLの記事内で、同一「カテゴリ」内を、数珠つなぎに、ページ送りする方法が書かれています。 この「サブカテゴリ版」の記述をしたいと考えております。 ご存じの方がいらっしゃいましたら、どうぞよろしくお願い致します。
回答: テンプレートタグ/previous post link $in_same_termをtrue、$taxonomyで指定したいサブカテゴリーを指定するといかがでしょうか。 【補足を受けての回答】 全体ということなのでcategory.phpと仮定して回答します。 functions.phpにpre_get_postsを追記してループを制御していらないカテゴリーを外すことができます。 その他の書き方も参考サイトをみればできるのではないでしょうか。 [WordPress]pre_get_postsを使いこなす!pre_get_posts使い方まとめ ``` function change_posts_per_page($query) { /* 管理画面,メインクエリに干渉しないために必須 */ if( is_admin() || ! $query->is_main_query() ){ return; } /* カテゴリーページの表示件数を5件にし、カテゴリID2を除外する */ if ( $query->is_category() ) { $query->set( 'posts_per_page', '5' ); $query->set( 'cat','-2' ); return; } } add_action( 'pre_get_posts', 'change_posts_per_page' ); ```