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 );
[6.0.0]'registered_taxonomy'アクションの後に"registered_taxonomy_{$taxonomy}"アクションを呼び出す。パラメータ$taxonomy$object_typeには本関数が受け取った内容が、$argsにはタクソノミー情報を配列でキャストした内容が格納されている。
do_action( "registered_taxonomy_{$taxonomy}", $taxonomy, $object_type, $args );

ソースファイル

/wp-includes/taxonomy.php

最終更新 : 2022年06月01日 12:49



お勧め

テーブルブロックを定形に整える(2021年12月27日 更新)

ブロックエディターについて調べていると、「段落ブロックをもう少しカスタマイズした」で使ったRichTextShortcutとは別にショートカットキーを使うためのKeyboardShortcutsが見つかった。今回はこのKeyboardShortcutsを使ってテーブルブロックを定形に整える仕組みを考えてみた。

各種リンクを取得する関数一覧(2014年6月12日 更新)

サイト設計において、ページ間の相互リンクは重要である。WordPressでは各種ページのリンク(パーマリンク)を取得する関数を用意しており、それらを一通り把握しておくべきだろう。

スクリプトファイルのバージョンパラメータを変更する(2018年5月27日 更新)

Java Scriptやスタイルシートの指定を直接head要素内に記述せず、wp_enqueue_scriptsフィルターなどを使って指定する場合、WordPressのバージョン番号が付与されている。このバージョン番号は、妥当なんだろうか。

4.2の「アクティビティ」ウィジェットに投稿以外の情報も表示する(2018年5月27日 更新)

ダッシュボードの「アクティビティ」ウィジェットは「投稿(post)」の状況を表示し、固定ページ(page)やカスタム投稿タイプの投稿記事の状況については標準では表示されない。このことに対して以前『3.8の「アクティビティ」ウィジェットに投稿以外の情報も表示する』を紹介したのだが、4.2では新しいフィルターが追加され、カスタマイズが少し容易になった。

投稿一覧に「投稿フォーマット」フィルターが追加される(2019年4月12日 更新)

WordPress 5.2 Beta2(以降5.2Beta2)のソースコードを眺めていると、投稿一覧ページのフィルター機能に「投稿フォーマット」(select要素)が追加されていた。