M.

WordPressのCocoonでカスタムタクソノミーを追加する!

  • WordPress

環境

  • WordPress 6.8.1
    • GCP(GCEを利用)
    • Cloudflare(DNSとして利用)
  • Cocoon 2.8.5.4

タグとは別の分類を追加したい

カスタムタクソノミーを追加して、タグとは異なる分類を利用したい。 本のレビューブログを運営している場合、たとえば以下のような分類が考えられる。

  • 本の種類(ハードカバー、文庫本……)
  • 本の著者
  • 属性(男性向け、女性向け、アクション、SF……)
  • オリジナル or 二次創作

といったように、1種類のタグだけでは分類しきれないことがあるはず。 そういった場合に役立つのがカスタムタクソノミーである。

補足: カスタムタクソノミー

WordPressには、もともと「カテゴリ」や「タグ」といった投稿の分類機能があるが、それだけでは足りない場合に使えるのがカスタムタクソノミーだ。 開発者が自由に新しい分類の種類を作成でき、たとえば「著者」や「ジャンル」といった独自の分類ルールを追加することができる。

これにより、「タグ」はシーンやキーワードに使い、「カスタムタクソノミー」は分類の軸として使い分けることができるようになる。 複数の視点でコンテンツを整理できるため、読者の回遊性が上がり、SEO対策にも有効とされている。

対応方法手順

テーマファイルエディタを開く

WordPress管理画面の**「外観」>「テーマファイルエディター」**をクリック。

functions.php に追記してタクソノミーを定義する

Cocoon を使用している場合は、Cocoon Child(子テーマ) の functions.php に以下のコードを追記する。 (今回はマンガ本を意識した manga_author という種類のパーマリンクを追加してみる)

// ==============以下追記部分===================
// マンガ著者用のタクソノミーを追加
function register_author_taxonomy() {
    register_taxonomy(
        'manga_author', // タクソノミーのスラッグ
        'post',   // 紐づける投稿タイプ(投稿:'post'、固定ページ:'page')
        array(
            'label' => '著者',
            'hierarchical' => false, // タグのように使うなら false、カテゴリのように階層構造にするなら true
            'public' => true,
            'show_ui' => true,
            'show_admin_column' => true,
            'rewrite' => array('slug' => 'manga-author'),
        )
    );
}
add_action('init', 'register_author_taxonomy');

// 投稿本文の下に著者タクソノミーを表示
function add_manga_author_after_content($content) {
    if (is_single() && in_the_loop() && is_main_query()) {
        $terms = get_the_terms(get_the_ID(), 'manga_author');
        if ($terms && !is_wp_error($terms)) {
            $author_links = '';
            foreach ($terms as $term) {
                $link = get_term_link($term);
                $author_links .= '<a href="' . esc_url($link) . '">' . esc_html($term->name) . '</a> ';
            }
            $custom_output = '<div class="post-author-taxonomy">著者: ' . $author_links . '</div>';
            return $content . $custom_output;
        }
    }
    return $content;
}
add_filter('the_content', 'add_manga_author_after_content');

パーマリンク設定を更新

  1. WordPress管理画面の「設定」>「パーマリンク」をクリック
  2. 何も変更せずに「変更を保存」ボタンをクリック

これにより、カスタムタクソノミーの URL 構造が正しく反映される。

パーマリンクを更新しないと、パーマリンクページが404 not found状態になるので、必ず設定後に更新しよう。

この記事は、2026年10月に はてなブログ から移設しました。

この記事をシェア

関連する記事

GCP の請求で Networking は ¥0 なのに、VM の通信料がかかっていた(404 の gzip 化と Standard ティア)

Cloudflare の裏で WordPress を動かす GCP VM の外向き通信が月約70GB。通信料は Networking ではなく Compute Engine 側に計上されていました。内訳を調べたら4割が圧縮されていない404応答だったので、PHP で gzip 化し、Standard ティアに切り替えた話です。

テーマから探す