サポート » 使い方全般 » next_post_linkのカテゴリの指定に親のカテゴリも含めたい

  • next_post_linkの記事のリンクを同カテゴリのみにしていしているのですが、
    それを親カテゴリを含めるようなカスタマイズは可能でしょうか?

    以下例です。

    野菜
    ・トマト系
    ・きゅうり系
    ・ナス系
    果物
    ・みかん系
    ・りんご系

    上記のようなカテゴリを作成し、
    next_post_linkで同カテゴリのみに指定したとします。
    上記のような場合だと、仮に『トマト系』の記事を見た際に、
    同カテゴリのリンクが『トマト系』のカテゴリになります。
    こちらを親の『野菜』のカテゴリにするようなカスタマイズは可能でしょうか?

    記事を作成する際に親のカテゴリにもチェックつければ可能なのですが、
    記事にカテゴリが複数あると、他にカスタマイズしている部分に影響が出てしまいます。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • モデレーター jim912

    (@jim912)

    可能ではありますが、データベースへのリクエストとなるSQLや正規表現の理解が必要となります。

    やり方としては、get_previous_post_where、および get_next_post_where フォルターにフックし、下記SQL

    
     AND tt.term_id IN (1)
    

    の括弧内の数値を、トマト系、きゅうり系、ナス系のterm_idがカンマ区切りで入るようする必要があります。

    これらのterm_idの取得は、get_the_category で記事が所属するカテゴリを取得。取得したカテゴリのparentが親カテゴリのterm_idとなるため、get_term_children にて、子カテゴリを取得。取得できた子カテゴリのterm_idをカンマ区切りで、上記SQLの括弧内に挿入

    という流れになります。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「next_post_linkのカテゴリの指定に親のカテゴリも含めたい」には新たに返信することはできません。