説明
パラメータ
- $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
関連
お勧め
初期状態で「抜粋」ウィジェットを表示する(2014年1月7日 更新)
投稿編集ページのウィジェットは標準で表示されるものとされないものがある。フォーラムに『投稿の編集画面にデフォルトで抜粋を表示させたい』という投稿があったので、ちょっと調べてみた。
query_posts(WP_Queryクラス)で投稿タグを絞り込む(2011年9月14日 更新)
投稿タグの絞り込みは、カテゴリーに似ているけど微妙に違っている。今日は、昨日投稿した「query_posts(WP_Queryクラス)でカテゴリーを絞り込む」の続きとして、投稿タグの絞り込みついてまとめてみる。カスタムフィールド関連関数のおさらい(2012年6月22日 更新)
カスタムフィールドは、投稿記事の拡張情報としてよく利用されている。投稿ページで登録した情報をアーカイブや投稿ページで表示しているが、投稿ページを表示する際にカスタムフィールドの値を更新して、サイドバーのようなページ内要素に利用したりしている。Align widgets horizontally:プラグイン作ってみました(2024年5月6日 更新)
ほぼ毎日何度も見ているダッシュボードページ。自分好みに各ウィジェットの場所を配置しているものの、何かすっきりしない。そこでふと思ったのが、ウィジェットを横並びにできれば隣り合うウィジェットの並びがガタガタしなくなるのでは!?
Contact Form 7に確認フェーズを(2012年12月16日 更新)
Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。