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



お勧め

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

Twenty Seventeenのフォントサイズを変更してみた(2021年12月15日 更新)

先日投稿した「続テーマを変更せずにWebフォントを使ってみた」では、テーマ「Twenty Seventeen」でもWebフォントを使えるようにした。その際、「Twenty Seventeen」のフォントサイズが少し小さく感じたので、今回はフォントサイズを調整してみた。

HTML entities button:プラグイン作ってみました(2021年4月28日 更新)

以前投稿した「HTML編集モードに定型文ボタンを追加する」をアレンジして、HTML編集モードに特殊文字(HTMLエンティティ)を挿入できるボタン、顔文字を挿入できるボタン、過去の投稿ページのリンクを挿入できるボタンを追加するプラグインを作ってみました。HTML編集モードの作業効率を向上させるプラグインです。2.1.0では「Dashiconsの挿入」を追加しました。HTML編集モードをメインに使用されている方は、お試しあれ。

5.7の機能拡張:エクスポートファイルに更新日時が追加ほか(2021年2月23日 更新)

WordPressはサイト移行を支援する機能として投稿情報のエクスポート機能を備えている。5.7ではこのエクスポート機能が改良され、更新日時情報が追加されるようだ。

query_posts(WP_Queryクラス)でカスタムフィールドを使う(2011年9月15日 更新)

先週3回にわたってtax_queryパラメータを使ったカテゴリーや投稿タグ、投稿フォーマットの絞り込みを整理したが、その途中で目に付いたのが'meta_query'パラメータ。この'meta_query'パラメータは、カスタムフィールドの絞り込み条件を指定するためのもので、3.2で登場した新しいパラメータのようだ。