WordPress the_post_navigation で同じカテゴリの記事だけ引いてくる
この記事は投稿されてから1年以上経っています。内容が古くなっているかもしれませんので、ご注意ください。
WordPress は記事ページに「次の投稿」「前の投稿」というリンクが自動で生成されていますが、最近使ったテーマはthe_post_navigation
というコードで生成されていました。
WordPress 4.1 から追加された関数のようですね。
これを、投稿日の前後の記事ではなく、同じカテゴリ記事内の前後の記事を引いてきたいと思ったのですが、日本語の情報をなかなか探せずにちょっと苦労したのでメモしておきます。
※ テーマファイルはこちら、「Zillah — 無料の WordPress テーマ」を利用させていただいています。
single.php
で下記にようになっている部分があります。
the_post_navigation( array(
'prev_text' => _x( %title', 'previous post', 'zillah' ),
'next_text' => _x( '%title', 'next post', 'zillah' ),
) );
この配列に、次の値を追加すると、同じカテゴリに属する前後の記事を引いてきてくれるようになります。
'in_same_term' => 'true',
- ‘prev_text’
(string) Anchor text to display in the previous post link. Default ‘%title’.- ‘next_text’
(string) Anchor text to display in the next post link. Default ‘%title’.- ‘in_same_term’
(bool) Whether link should be in a same taxonomy term. Default false.- ‘excluded_terms’
(array|string) Array or comma-separated list of excluded term IDs.- ‘taxonomy’
(string) Taxonomy, if$in_same_term
is true. Default ‘category’.- ‘screen_reader_text’
(string) Screen reader text for nav element. Default ‘Post navigation’.get_the_post_navigation() | Function | WordPress Developer Resources