概要
カスタムタクソノミーって難しそうな名前💭
しかし意味はシンプルなので説明を読めば簡単に理解できる!
前提としてタクソノミーを理解する必要がある。以下を参照。
カスタムタクソノミーとは
まずは言葉で説明する。
- カスタムタクソノミーとは、自分で定義するタクソノミーのこと。
- カスタム投稿タイプと合わせて使用することが多い。
カスタム投稿タイプについては以下を参照。
イメージ図
言葉だけだと分かりにくいのでイメージ図で説明する。
[投稿]
|--[カテゴリー](👈タクソノミーの一種)
| |-------[お知らせ]
| |-------[コラム]
| |-------[ニュース]
|
|--[タグ](👈タクソノミーの一種)
|-------[重要情報]
|-------[おすすめ情報]
[製品情報](👈カスタム投稿タイプの一種)
|--[商品](👈カスタムタクソノミーの一種)
| |-------[服]
| |-------[ズボン]
| |-------[カバン]
|
|--[商品タグ](👈カスタムタクソノミーの一種)
|-------[カジュアル]
|-------[フォーマル]
|-------[メンズ]
|-------[レディース]
- [カテゴリー]、[タグ]はデフォルトで用意されているタクソノミー。
- それに対して、[商品]や[商品タグ]はカスタムタクソノミー(自分で作ったカテゴリー)。
カスタムタクソノミーの作成方法
【方法1】プラグインを使う
通常はプラグインを使う方法が簡単でおすすめ🔰
まずはカスタムタクソノミーを作る準備をする。
【準備1】プラグインのインストール
プラグイン「Custom Post Type UI」をインストールする。
【準備2】カスタム投稿タイプの作成
- 一般的に、まずカスタム投稿タイプを作成する。
- 今回は「製品情報」というカスタム投稿タイプを作成する。
カスタム投稿タイプの作り方は以下を参照。
以下の手順でカスタムタクソノミーを追加する。
【ステップ0】タクソノミーの追加画面
「CPT UI―タクソノミーの追加と編集」を開く
【ステップ1】必須項目の入力
4つの必須項目を入力する。
項目 | 説明 | 例 | 補足 |
---|---|---|---|
タクソノミースラッグ | カスタムタクソノミーのID | item | 半角英数で20文字以内 |
複数系のラベル | カスタムタクソノミーの表記名 | 商品 | 日本語可能 |
単数系のラベル | カスタムタクソノミーの表記名 ※複数形のラベルと同じでOK | 商品 | 日本語可能 |
利用する投稿タイプ | カスタムタクソノミーをどの投稿タイプに紐づけるか | 製品情報 | カスタム投稿タイプを選択する |
【ステップ2】その他の設定
必須項目の下に設定項目がある。
数が多いため重要な項目のみを紹介する。
[設定―階層]
タクソノミーに親子関係を持たせるか。
(親子カテゴリーを設定できるようにするか)
- Trueにすると投稿のカテゴリーのように階層構造を持つ。
- Falseの場合は投稿のタグのように階層構造を持たない。
【ステップ3】カスタムタクソノミーを追加
画面下部の「タクソノミーの追加」ボタンをクリックし、カスタムタクソノミーが作成完了。
新規作成後、カスタム投稿タイプのサブメニューにカスタムタクソノミー名が追加される。
【ステップ4】パーマリンク画面で更新
- [設定―パーマリンク]を開く
- 何も変更せずに「設定を保存」をクリック
【ステップ5】カスタムタクソノミーに任意のタームを追加
- タクソノミーを追加しただけだと空っぽの「カテゴリー」がある状態と同じなので意味がない。
- タクソノミーの中に実際に使うターム(項目)を作成する必要がある。
[製品情報(カスタム投稿タイプ名)―商品(カスタムタクソノミー名)]を開く。
カテゴリーと同じ操作でターム(項目)を追加できる。
【ステップ6】確認
これでカスタムタクソノミーが使用できるようになった!
[製品情報(カスタム投稿タイプ名)―新規追加]を開く。
サイドバーに商品(カスタムタクソノミー名)が追加されていればOK!
【方法2】自作
少しでもプラグインを減らして軽量にしたい場合は自作に挑戦してみるのもアリ⭐️
WordPress開発に慣れている方におすすめ。
カスタムタクソノミーを追加
functions.phpに以下を追記するだけでOK✅
function custom_taxonomy() {
$args = array(
'labels' => array( // 管理画面に表示される名称
'name' => '商品',
'singular_name' => '商品',
),
'public' => true, // カスタムタクソノミーを有効にする
'show_in_rest' => true, // ブロックエディタで設定可能にする
);
// [投稿]にカスタムタクソノミーを登録
register_taxonomy( 'item', 'post', $args );
}
add_action( 'init', 'custom_taxonomy' );
以下で詳しく解説している。
URL
カスタムタクソノミーのアーカイブページ
https://ドメイン名/カスタムタクソノミー名/ターム名
例えば以下のタームを作った場合
- カスタムタクソノミー:商品「item」
- ターム:服「clothes」
URLは「https://ドメイン名/item/clothes 」となる。
注意
投稿の編集ページでカスタムタクソノミーの設定項目がない場合の対処方法✅
「Custom Post Type UI」の場合
以下の設定を「真」にする。
- CPT UI - タクソノミーの追加と編集 - タクソノミーを編集(タブ)- 設定 - REST API で表示
自作の場合
register_taxonomy(…)
に'show_in_rest' => true
を設定する。
functions.php
function custom_taxonomy() {
$args = array(
'labels' => array(
'name' => '商品',
'singular_name' => '商品',
),
'public' => true,
'show_in_rest' => true, // ブロックエディタで設定可能にする
);
register_taxonomy( 'item', 'post', $args );
}
add_action( 'init', 'custom_taxonomy' );
上記対処方法の参考サイト
参考サイト