説明
パラメータ
- $taxonomyタクソノミー名を指定(32文字以内)。
- $object_type紐づけするオブジェクト(データ)タイプまたはその配列を指定。
- $argsタクソノミーの属性情報を連想配列で指定(省略時はarray())。
キー 型 内容 'labels' string[] タクソノミーのラベルを格納した連想配列を指定(省略時はarray()) 'description' string タクソノミーの説明を指定(省略時は'') 'public' bool 管理者またはフロントエンドユーザーが使用できる場合はtrueを指定(省略時はtrue)。 'publicly_queryable' bool [4.5.0]クエリー可能な場合はtrueを指定(省略時は'public'の値を継承) 'hierarchical' bool 「カテゴリー」のように階層構造の場合はtrueを指定(省略時はfalse) 'show_ui' bool [4.4.0]管理画面の編集用UIを表示する場合はtrueを指定(省略時は'public'の値を継承) 'show_in_menu' bool 管理画面に編集用UIのメニューを表示する場合は'show_ui'の値と共にtrueを指定(省略時は'show_ui'の値を継承) 'show_in_nav_menus' bool ナビゲーションメニューに表示する場合はtrueを指定(省略時は'public'の値を継承) 'show_tagcloud' bool タグクラウドウィジェットに含める場合はtrueを指定(省略時は'show_ui'の値を継承) 'show_in_quick_edit' bool [4.2.0]クイック編集パネルに編集用UIを含める場合はtrueを指定(省略時は'show_ui'の値を継承) 'show_admin_column' bool 投稿一覧のカラムに表示する場合はtrueを指定(省略時はfalse) 'meta_box_cb' bool|callable メタボックス表示用のコールバック関数を指定 'meta_box_sanitize_cb' callable [5.1.0]メタボックスから保存されるデータをサニタイズするためのコールバック関数を指定 'capabilities' string[] タクソノミーのケイパビリティ(権限)を指定 'rewrite' bool|array リライト設定を指定(省略時はtrue) 'query_var' bool|string URLクエリーのキー名を指定 'update_count_callback' callable カウントが更新された時に呼び出されるコールバック関数を指定 'show_in_rest' bool [4.7.0]REST APIに含める場合はtrueを指定 'rest_base' string [4.7.0]REST APIルートのベースURLを指定 'rest_controller_class' string [4.7.0]REST API コントローラのクラス名を指定(省略時は'WP_REST_Terms_Controller') 'default_term' string|array [5.5.0]デフォルトのターム値を指定 'sort' bool wp_set_object_terms関数で指定した順にソートする場合はtrueを指定 'args' array wp_get_object_terms関数の第3パラメータに内部で適用される内容を指定 '_builtin' bool 標準で組み込まれる場合はtrueを指定(省略時はfalse)
返り値
[5.4.0]タクソノミーを登録できた場合はそのタクソノミー情報(オブジェクト)を、登録できなかった場合はWP_Errorオブジェクトを返す。注意
本関数はinitアクションより前に使用してはならない。
'labels'に指定する連想配列は、バージョンアップにより何度か拡張されており、最新はget_taxonomy_labels関数を参照すること。
| キー | 投稿タグの内容(hierarchical:false) | カテゴリーの内容(hierarchical:true) |
| 'name' | 'Tags' 'タグ' | 'Categories' 'カテゴリー' |
|---|---|---|
| 'singular_name' | 'Tag' 'タグ' | 'Category' 'カテゴリー' |
| 'search_items' | 'Search Tags' 'タグを検索' | 'Search Categories' 'カテゴリーを検索' |
| 'popular_items' | 'Popular Tags' '人気のタグ' | null |
| 'all_items' | 'All Tags' 'すべてのタグ' | 'All Categories' 'カテゴリー一覧' |
| 'parent_item' | null | 'Parent Category' '親カテゴリー' |
| 'parent_item_colon' | null | 'Parent Category:' '親カテゴリー:' |
| 'edit_item' | 'Edit Tag' 'タグを編集' | 'Edit Category' 'カテゴリーを編集' |
| 'view_item' | 'View Tag' 'タグを表示' | 'View Category' 'カテゴリーを表示' |
| 'update_item' | 'Update Tag' 'タグを更新' | 'Update Category' 'カテゴリーを更新' |
| 'add_new_item' | 'Add New Tag' '新規タグを追加' | 'Add New Category' '新規カテゴリーを追加' |
| 'new_item_name' | 'New Tag Name' '新規タグ名' | 'New Category Name' '新規カテゴリー名' |
| 'separate_items_with_commas' | 'Separate tags with commas' 'タグが複数ある場合はコンマで区切ってください' | null |
| 'add_or_remove_items' | 'Add or remove tags' 'タグの追加もしくは削除' | null |
| 'choose_from_most_used' | 'Choose from the most used tags' 'よく使われているタグから選択' | null |
| 'not_found' | 'No tags found.' 'タグが見つかりませんでした。' | 'No categories found.' 'カテゴリーが見つかりませんでした。' |
| 'no_terms' | 'No tags' 'タグなし' | 'No categories' 'カテゴリーなし' |
| 'filter_by_item' | null | 'Filter by category' 'カテゴリーで絞り込む' |
| 'items_list_navigation' | 'Tags list navigation' 'タグリストナビゲーション' | 'Categories list navigation' 'カテゴリーリストナビゲーション' |
| 'items_list' | 'Tags list' 'タグリスト' | 'Categories list' 'カテゴリーリスト' |
| 'most_used' | 'Most Used' 'よく使うもの' | 'Most Used' 'よく使うもの' |
| 'back_to_items' | '← Go to Tags' '← タグへ戻る' | '← Go to Categories' '← カテゴリーへ移動' |
| 'item_link' | 'Tag Link' 'タグリンク' | 'Category Link' 'カテゴリーリンク' |
| 'item_link_description' | 'A link to a tag.' 'タグへのリンク。' | 'A link to a category.' 'カテゴリーへのリンク。' |
'public'の内容は、'publicly_queryable'、'show_ui'、'show_in_nav_menus'キーが省略された場合のデフォルト値となる。'show_ui'の内容は、'show_in_menu'、'show_tagcloud'、'show_in_quick_edit'キーが省略された場合のデフォルト値となる。
'meta_box_cb'の内容が省略された場合は、'hierarchical'の内容により「カテゴリー」か「投稿タグ」のコールバック関数が適用される。メタボックスを表示しない場合は、明示的にfalseを指定する。
ブロックエディターでこのタクソノミーを使用する場合、'show_in_rest'にtrueを指定しなければならない。
'query_var'の内容が文字列の場合、それがURLクエリーのキー名となる。省略時は、本関数の第1パラメータ$taxonomyが適用される。falseの場合はこのタクソノミーのURLクエリーが無効となる。
'capabilities'の内容として指定する連想配列は次の通り。
| キー | 型 | 内容 |
| 'manage_terms' | 文字列 | タームを管理できる権限(省略時は'manage_categories') |
|---|---|---|
| 'edit_terms' | 文字列 | タームを編集できる権限(省略時は'manage_categories') |
| 'delete_terms' | 文字列 | タームを削除できる権限(省略時は'manage_categories') |
| 'assign_terms' | 文字列 | タームをアサインできる権限(省略時は'edit_posts') |
'rewrite'の内容としてtrueを指定した場合は、パラメータ$taxonomyをスラッグとしてリライト設定を行う。falseを指定した場合はリライト設定を行わない。詳細なリライト設定を行う場合は次に示す連想配列を指定する。
| キー | 型 | 内容 |
| 'slug' | 文字列 | パーマストラクチャのスラッグ(省略時はパラメータ$taxonomy) |
|---|---|---|
| 'with_front' | bool | WP_Rewriteの$frontをパーマストラクチャの前につける場合はtrue(省略時はtrue) |
| 'hierarchical' | bool | 階層型の場合はtrue(省略時はfalse) |
| 'ep_mask' | 整数 | エンドポイントマスク(省略時はEP_NONE) |
[5.5.0]'default_term'の内容には、タームの名前か、次に示す連想配列を指定する。
| キー | 型 | 内容 |
| 'name' | 文字列 | タームの名前 |
|---|---|---|
| 'slug' | 文字列 | タームのスラッグ(省略時は'') |
| 'description' | 文字列 | タームの説明(省略時は'') |
使用例
- タクソノミー'people'を登録する
function register_taxonomy_people() { register_taxonomy( 'people', 'post', array( 'labels' => array( 'name' => __( 'People' ), ), 'rewrite' => array( 'slug' => 'person' ), 'hierarchical' => true, 'query_var' => 'person', 'public' => true, 'show_ui' => true, 'show_admin_column' => true, ) ); } add_action( 'init', 'register_taxonomy_people' );
フィルター
直接実行するフィルターはありません。アクション
[3.3.0]タクソノミー情報(オブジェクト)を返す前に'registered_taxonomy'アクションを呼び出す。パラメータ$taxonomyと$object_typeには本関数が受け取った内容が、$argsにはタクソノミー情報を配列でキャストした内容が格納されている。do_action( 'registered_taxonomy', $taxonomy, $object_type, $args );do_action( "registered_taxonomy_{$taxonomy}", $taxonomy, $object_type, $args );ソースファイル
/wp-includes/taxonomy.php最終更新 : 2022年06月01日 12:49
関連
お勧め
個人データのエクスポートメール向けに追加された新フィルター(2020年4月2日 更新)
先週「WordPress 5.4 RC3」が公開され、正式リリースまであと1週間。ブロックエディターの機能強化が目立つわけですが、地味な変更点もちらほらと。今回はその中の1つ、「個人データのエクスポート」機能に関連するフィルターを紹介する。
決まった値を返すだけの関数群(2018年5月27日 更新)
WordPressのソースコードを眺めているとフィルター関数名で'__return_○○'が指定されている部分を時々見かけます。それらの関数定義を見てみると、すべて決まった値を単純に返すだけでした。これらの関数がちょっと気になったので、まとめてみました。
サイドバーの初期化はwidgets_initアクションで(2011年7月14日 更新)
ウィジェットを使ってみたくなり新テーマ「Twenty Eleven」を覗いてみると、codexに記載されていた内容と少し違っている。これって「Twenty Ten」ですでに変更されていたんだね。Gutenbergでカスタムフィールドを使う(2018年8月10日 更新)
Gutenbergの新エディターではカスタムフィールドのウィジェットが表示されない。既存のカスタムフィールドのデータはなくなるわけでないので、新エディター上で編集・更新できないか調べてみた。
favicon.icoがWordPressロゴになる!?(2020年2月25日 更新)
先週「WordPress 5.4 Beta2」が公開され、来月末には正式リリース。タイミングよく三連休だったので、1つ前の「ニュース」で紹介されていた変更点から確認してみた。