WordPress the_post_navigation で同じカテゴリの記事だけ引いてくる

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

コメントを残す

  • コメント欄には個人情報を入力しないようにしてください。

  • 入力いただいたメールアドレスは公開されませんがサーバーに保存されます。
  • 入力いただいた情報の他に、IPアドレスを取得させていただきます。取得した IPアドレス はスパム・荒らしコメント対処ために利用され、公開することはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください