概要
cptui_pre_register_taxonomies
アクションは、WordPressのプラグイン「Custom Post Type UI」を使用してカスタムタクソノミーを登録する前にフックされます。このアクションを使用することで、タクソノミーの設定を変更したり、追加のカスタマイズを行ったりすることができます。よく使われる機能としては以下のようなものがあります。
- カスタムタクソノミーのデフォルト設定の変更
- タクソノミーに追加メタデータを追加
- タクソノミーのラベルを多国語対応に設定
- タクソノミーの管理画面のカスタマイズ
- 特定の条件に基づいてタクソノミーを無効化
- 自動的に関係するカスタムポストタイプの設定を行う
構文
add_action('cptui_pre_register_taxonomies', 'your_function_name');
function your_function_name($taxonomies) {
// ここでタクソノミーの設定を変更
return $taxonomies;
}
パラメータ
- $taxonomies: タクソノミーの設定を含む配列。
戻り値
- 変更されたタクソノミーの設定を含む配列。
バージョン
- Custom Post Type UI: バージョンに依存せず使用可能
- WordPress: 4.0以上
この関数のアクションでの使用可能性
アクション名 | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード 1: デフォルトラベルの変更
タクソノミーのデフォルトラベルを変更するサンプルコードです。
add_action('cptui_pre_register_taxonomies', 'modify_taxonomy_labels');
function modify_taxonomy_labels($taxonomies) {
if (isset($taxonomies['your_taxonomy'])) {
$taxonomies['your_taxonomy']['labels']['name'] = 'New Name';
}
return $taxonomies;
}
(引用元: https://example.com/sample1)
サンプルコード 2: メタデータの追加
タクソノミーにメタデータを追加する例です。
add_action('cptui_pre_register_taxonomies', 'add_taxonomy_meta');
function add_taxonomy_meta($taxonomies) {
if (isset($taxonomies['your_taxonomy'])) {
$taxonomies['your_taxonomy']['meta_box_cb'] = 'your_custom_meta_box_callback';
}
return $taxonomies;
}
(引用元: https://example.com/sample2)
サンプルコード 3: タクソノミーの無効化
特定の条件でタクソノミーを無効化するサンプルです。
add_action('cptui_pre_register_taxonomies', 'disable_taxonomy_conditionally');
function disable_taxonomy_conditionally($taxonomies) {
if (some_condition()) {
unset($taxonomies['your_taxonomy']);
}
return $taxonomies;
}
(引用元: https://example.com/sample3)
サンプルコード 4: タクソノミーの設定を動的に変更
環境によってタクソノミーを異なる設定で登録するためのコードです。
add_action('cptui_pre_register_taxonomies', 'dynamic_taxonomy_settings');
function dynamic_taxonomy_settings($taxonomies) {
if (is_admin()) {
$taxonomies['your_taxonomy']['show_admin_column'] = true;
}
return $taxonomies;
}
(引用元: https://example.com/sample4)
サンプルコード 5: タクソノミーのサポートを自動的に定義
タクソノミーにサポートする機能を自動で定義するサンプルです。
add_action('cptui_pre_register_taxonomies', 'add_automatic_taxonomy_support');
function add_automatic_taxonomy_support($taxonomies) {
$taxonomies['your_taxonomy']['hierarchical'] = true;
return $taxonomies;
}
(引用元: https://example.com/sample5)