【Nishiki Pro カスタマイズ】カスタム投稿の一覧と詳細ページにカスタムタクソノミーのタームを表示する方法

ブログ
  1. ホーム
  2. ブログ
  3. 【Nishiki Pro カスタマイズ】カスタム投稿の一覧と詳細ページにカスタムタクソノミーのタームを表示する方法

この記事は「AnimaGate 製品・サービス・取り組みについてなんでもOK Advent Calendar 2025」の17日目の記事です。

WordPressテーマのNishiki ProやHakoniwaの開発元である株式会社アニマゲートさんの企画でアドベントカレンダーが開催されていましたので参加してみました!

当サイトは、WordPressの国産テーマ「Nishiki Pro」で制作されています。

Nishiki Proは、オリジナルブロックやパターンが豊富で、コードを書かなくてもブロック・パターンの組み合わせでWebサイトが制作できるのが特徴です。もちろん、ゴリゴリにコードを書いてオリジナルデザインのこだわったサイトに仕上げることも可能です。

そんなこだわり派のデザイナー・デベロッパーのために、様々なフックが用意されていて、かゆいところに手が届くように構成されています。気になる方はNishiki Proのフック一覧をご参照ください。

当サイトもNishiki Proの便利なオリジナルブロックのおかげで、ほとんどコードは書かずに制作できました。ただ、一部フックを使ってカスタマイズしています。それが、カスタム投稿内のカスタムタクソノミーの表示です。

実績“はカスタム投稿にしてカテゴリ分けはカスタムタクソノミーで分類しています。そのままだと、通常の投稿のように記事一覧と記事詳細ページにカテゴリー(カスタムタクソノミー)が表示されません。そこでフックの出番です。

カスタム投稿一覧でカスタムタクソノミーを表示する

まずは、カスタム投稿一覧でカスタムタクソノミーのタームを表示させる方法です。投稿一覧のカテゴリーを表示させている部分には、nishiki_pro_archive_termsというフックが用意されています。

下記のように、nishiki_pro_archive_termsでカスタム投稿の時はカテゴリーではなくカスタムタクソノミーのタームを取得・表示するように指定します。

if (!function_exists('nishiki_pro_custom_post_archive_terms')) {
  function nishiki_pro_custom_post_archive_terms($terms, $post_id) {
    if (is_post_type_archive('カスタム投稿名')) {
      $terms = get_the_terms($post_id, 'カスタムタクソノミー名');
    }
    return $terms;
  }
  add_filter('nishiki_pro_archive_terms', 'nishiki_pro_custom_post_archive_terms', 10, 2);
}

上記コードを追加することで、カスタム投稿の一覧でカスタムタクソノミーのタームを表示できるようになりました。

カスタム投稿の詳細ページでカスタムタクソノミーを表示する

投稿一覧の次は投稿詳細ページです。投稿詳細ページでカスタムタクソノミーを表示させるには、nishiki_pro_singular_termsというフックを使います。

投稿一覧と同様に、カテゴリーが表示される箇所をカスタムタクソノミーに差し替えます。

if (!function_exists('nishiki_pro_custom_singular_terms')) {
  function nishiki_pro_custom_singular_terms($terms, $post_id) {
    if (get_post_type() == 'カスタム投稿名') {
      $terms = get_the_terms($post_id, 'カスタムタクソノミー名');
    }
    return $terms;
  }
  add_filter('nishiki_pro_singular_terms', 'nishiki_pro_custom_singular_terms', 10, 2);
}

上記コードを追加することで、タイトル下にカスタムタクソノミーのタームが表示されます。

投稿詳細のカスタマイズについては、Nishiki Proのサポートサイトであるサポトピアに掲載されているコードそのままです。詳しくはこちらの記事をご参照ください。

カスタマイズする際のコードはどこに書く?

最後に、ご紹介した上記のコードをどこに追加するのかという点についても紹介しておきます。

様々なやり方があると思いますが、当サイトの場合はNishiki Proを子テーマ化して利用しているので、子テーマのfunctions.phpに記述しています。個人的にはこれが一番楽です。

子テーマ化していない場合は、自作プラグイン化して管理するか、Code Snippetsなどのプラグインを使ってPHPコードを追加するのが良いかと思います。

自作プラグイン化するのも全然難しくないので、チャレンジしてみようという方はこちらの記事を参考にしてぜひ作ってみてください(だいぶ前に書いたのですが私の技術ブログの記事です)。