register_taxonomy

説明

WP_Taxonomy | WP_Error register_taxonomy( string $taxonomy, array | string $object_type, array | string $args = array() )
タクソノミーを登録する。

パラメータ

  • $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|stringURLクエリーのキー名を指定
    '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'boolwp_set_object_terms関数で指定した順にソートする場合はtrueを指定
    'args'arraywp_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'boolWP_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 );

ソースファイル

/wp-includes/taxonomy.php

最終更新 : 2022年01月05日 12:15



お勧め

JavaScriptテンプレートを使ってみた(2018年8月21日 更新)

前回の記事」で取り上げた「WordPress Events and News」ウィジェットでは入力された地名のAJAX処理してその地名近隣のイベント情報を表示している。特に表示部分では「JavaScriptテンプレート」が採用されており、今更ながら調べてみた。

子カテゴリのアーカイブページを親カテゴリ用のテンプレートファイルで表示しよう(2011年12月8日 更新)

少し前に投稿した「適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす」で説明した通り、特定のカテゴリ専用のテンプレートとしてcategory-○○.phpを用意することで、category.phpやarchive.php内で振り分けを行う必要がなくなる。ただ、すべてのカテゴリ分を用意するのは効率的ではないし、特に子カテゴリについては親カテゴリと共通内容になるケースが多いのではないだろうか。ここでは、子カテゴリの個別テンプレートファイルを作らず、親カテゴリのテンプレートを利用する方法を紹介する。

5.3の新機能:日付とタイムゾーン(2019年10月2日 更新)

WordPress 5.3 Beta 1」に記載されていた「Time/Date component fixes」という見出し。開発者向として新しい関数の追加や多くのバグが修正されたとなっており、チェックせざるを得ない。

Login rebuilderのログ表示機能を紹介(2018年5月27日 更新)

プラグイン「Login rebuilder」には、バージョン1.2.0からログ情報を保存・確認する機能が備わっています。このログ情報では直近のログインページへの不正アクセスやログイン試行を確認できます。ここでは保存しているログ情報の見方について簡単に説明します。

さくらのVPSでKUSANAGI#3(2018年5月27日 更新)

今回は「前回」の続き。http(80番)をクローズ、そのほかに行った調整作業について整理する。