独自のタクソノミーを作成
独自のタクソノミー(カスタムタクソノミー)を作成するには、functions.phpファイルにinit
のアクションフックでregister_taxonomy
関数を使用します。
構文
引数名 | 型 | 初期値 | 説明 | |
---|---|---|---|---|
第一引数 必須 |
キー | string | タクソノミーの識別子。 スラッグとしても使用される。 キーとは別にスラッグを指定したい場合は、オプションのrewriteキーにあるslugキーを使用する。 |
|
第二引数 必須 |
投稿タイプ | string または array |
関連させる投稿タイプ。 指定した投稿タイプに表示する。 配列で指定することで複数指定することも可能。 指定可能な値は次の通り。 ' post ' ... 投稿' page ' ... 固定ページ' attachment ' ... 添付ファイル' revision ' ... リビジョン' nav_menu_item ' ... ナビゲーションメニュー' カスタム投稿タイプ名 ' |
|
第三引数 | オプション | array | array() |
詳細な設定。 詳しくは、オプションを参照。 |
オプション
キー | 型 | 初期値 | 説明 |
---|---|---|---|
label | string | タクソノミーの名称。 サイドメニューや見出しなどで表示される。 |
|
labels | array | 様々な箇所で表示する名称。 詳しくは、labelsキーの内容を参照。 |
|
description | string | タクソノミーの説明文章。 | |
capabilities | array | タクソノミーの操作権限。 詳しくは、capabilitiesキーの内容を参照。 |
|
public | boolean | true | 管理画面に表示かどうかの全ての初期値。 例えばshow_uiキーなど。 |
hierarchical | boolean | false | タームを親子関係(階層)で構成できるようにするか。 |
show_ui | boolean | publicキーの値 | 管理画面に表示するか。 |
show_in_nav_menus | boolean | publicキーの値 | 外観のメニューに表示するか。 |
show_in_menu | boolean | show_uiキーの値 | register_taxonomy関数の第二引数で指定した投稿タイプのメニューに表示するか。 |
show_tagcloud | boolean | show_uiキーの値 | タグクラウドを利用するか。 タグのように記事の画面で入力欄でのアイテムとして表示するかどうか。 hierarchicalキーがfalseの場合に機能する。 |
show_in_rest | boolean | false | REST APIとして使用可能にするかどうか、またregister_taxonomy関数の第二引数で指定した投稿タイプの新規・編集画面の文章タブで表示するかどうか。 APIのURLは https://example.co.jp/wp-json/wp/v2/識別子 (識別子はregister_taxonomy関数の第一引数)。 |
rest_base | string | show_in_restキーがtrueの場合、APIのURLの最後を指定の値に変更する。https://example.co.jp/wp-json/wp/v2/rest_baseの値 |
|
rest_controller_class | string | 'WP_REST_Terms_Controller' | ※ 不明 |
show_in_quick_edit | boolean | show_uiキーの値 | 記事の一覧画面でクイック編集時に表示するかどうか。 |
show_admin_column | boolean | false | 記事の一覧画面の列(カラム)に表示するかどうか。 |
rewrite | array | publicキーの値 | タクソノミーおよびタームのURLアクセス時のパーマリンクの設定。 詳しくは、rewriteキーの内容を参照。 |
publicly_queryable | boolean | publicキーの値 | タクソノミーおよびタームのURLアクセスでURLパラメーターでアクセスを許可するかどうか。 URLパラメーターは ?識別子=タームのスラッグ であるが、実際にアクセスすると/識別子/タームのスラッグ/ に置き換わる。 |
query_var | boolean または string |
register_taxonomy関数の第一引数 | publicly_queryableがtrueの場合のURLパラメーターのキーを指定。 例(値がsbjの場合): ?sbj=タームのスラッグ = /sbj/タームのスラッグ/ |
update_count_callback | string | '' | 記事で新規あるいは更新ボタンを押した際に実行するコールバック関数。 |
meta_box_cb | boolean または string |
'post_categories_meta_box' または 'post_tags_meta_box' |
register_taxonomy関数の第二引数で指定した投稿タイプの稿新規・編集画面の文章タブで表示されている場合に、表示する前に実行するコールバック関数。 指定しないまたはtrueの場合、hierarchicalキーがtrueの場合は'post_categories_meta_box'、hierarchicalキーがfalseの場合は'post_tags_meta_box'が初期値となる。 |
meta_box_sanitize_cb | string | register_taxonomy関数の第二引数で指定した投稿タイプの稿新規・編集画面の文章タブで表示されている場合に、保存されているデータをサニタイジングして表示する際に実行するコールバック関数。 |
labelsキーの内容
キー | 型 | 初期値 | 説明 |
---|---|---|---|
name | string | labelキーの値 | 全体の名称。 メニューや見出しで表示される。 |
add_new_item | string | 新規のタイトルとボタンのテキスト。 | |
new_item_name | string | 投稿新規・編集画面の文章タブで表示される入力欄のラベル。 | |
parent_item | string | 親のタームを指定する項目名。 | |
search_items | string | 検索ボタンのテキスト。 | |
not_found | string | 右側の項目が1つもなかった場合に表示するテキスト。 | |
edit_item | string | 編集時の見出し。 | |
update_item | string | クイック編集時の更新ボタンのテキスト。 | |
back_to_items | string | 一覧へ戻るボタンのテキスト。 | |
singular_name | string | nameキーの値 | register_taxonomy関数の第二引数で指定した投稿タイプの稿新規・編集画面の文章タブで表示されている場合かつhierarchicalキーがfalseの場合に、削除ボタンのツールヒントに表示するテキスト。 |
popular_items | string | ※ 不明 | |
all_items | string | ※ 不明 | |
parent_item_colon | string | ※ 不明 | |
view_item | string | ※ 不明 | |
separate_items_with_commas | string | ※ 不明 | |
add_or_remove_items | string | ※ 不明 | |
choose_from_most_used | string | ※ 不明 | |
no_terms | string | ※ 不明 | |
items_list_navigation | string | ※ 不明 | |
items_list | string | ※ 不明 | |
most_used | string | 'よく使うもの' | メニューで表示されている時の"よく使うもの"タブの名称。 |
capabilitiesキーの内容
キー | 型 | 初期値 | 説明 |
---|---|---|---|
manage_terms | string | 'manage_categories' | タームのメニュー表示の権限。 |
edit_terms | string | 'manage_categories' | タームの編集の権限。 |
delete_terms | string | 'manage_categories' | タームの削除権限。 |
assign_terms | string | 'edit_posts' | タームを記事に付与する権限。 |
rewriteキーの内容
キー | 型 | 初期値 | 説明 |
---|---|---|---|
slug | string | register_taxonomy関数の第一引数 | タクソノミーのスラッグの名称。 例(値を'foo/bar'とした場合): /foo/bar/タームのスラッグ/ |
with_front | boolean | true | "設定"の"パーマリンク設定"を最初に実行するかどうか。 |
hierarchical | boolean | false | URLに階層を許可するかどうか。 |
ep_mask | integer | EP_NONE | ※ 不明 |
サンプルコード
functions.php