概要
cptui_taxonomy_submit_edit
アクションは、WordPressのCustom Post Type UIプラグインにおいて、カスタム分類(タクソノミー)の編集が完了した後に発火するフックです。このアクションは、カスタムタクソノミーを定義したり、管理画面での追加機能を実装したりする際に非常に役立ちます。
このアクションを使用して実装される機能の例は以下の通りです:
- タクソノミーの名前を動的に変更する。
- タクソノミーに関連するカスタムメタデータを追加する。
- 特定の条件に基づいてタクソノミーの権限を変更する。
- タクソノミーの編集後にユーザーに通知を発信する。
- タクソノミーの編集におけるログ記録機能を実装する。
- タクソノミーの編集時に他のフックとの連携を行う。
構文
add_action('cptui_taxonomy_submit_edit', 'your_function_name', 10, 2);
パラメータ
$taxonomy
: 編集されたタクソノミーのスラッグ。$data
: タクソノミーに関するデータが含まれた配列。
戻り値
このアクションには明示的な戻り値はありません。実行される関数が特定の処理を行います。
使用可能なプラグインバージョン
Custom Post Type UIバージョン:1.0以上
使用可能なWordPressバージョン
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_taxonomy_submit_edit', 'update_taxonomy_name', 10, 2);
function update_taxonomy_name($taxonomy, $data) {
if ($taxonomy == 'your_taxonomy_name') {
// タクソノミー名を変更する処理
$new_name = 'New Taxonomy Name';
update_option("taxonomy_{$taxonomy}_name", $new_name);
}
}
このコードは、特定のタクソノミーの名前を編集完了後に変更する処理を行っています。
サンプルコード2
add_action('cptui_taxonomy_submit_edit', 'add_custom_meta_to_taxonomy', 10, 2);
function add_custom_meta_to_taxonomy($taxonomy, $data) {
if ($taxonomy == 'my_custom_tax') {
add_term_meta($data['term_id'], 'custom_meta_key', 'custom_meta_value');
}
}
このコードは、カスタムタクソノミーに関連するメタデータを追加しています。
サンプルコード3
add_action('cptui_taxonomy_submit_edit', 'log_taxonomy_edit', 10, 2);
function log_taxonomy_edit($taxonomy, $data) {
// レコードを保存する処理
error_log("Taxonomy '{$taxonomy}' has been edited.");
}
このコードは、タクソノミーが編集されたことをログに記録します。
サンプルコード4
add_action('cptui_taxonomy_submit_edit', 'notify_user_after_taxonomy_edit', 10, 2);
function notify_user_after_taxonomy_edit($taxonomy, $data) {
$user_email = 'user@example.com';
wp_mail($user_email, 'Taxonomy Edited', "The taxonomy '{$taxonomy}' has been edited.");
}
このコードは、タクソノミーが編集された後に、ユーザーに通知メールを送ります。
サンプルコード5
add_action('cptui_taxonomy_submit_edit', 'alter_permissions_for_taxonomy', 10, 2);
function alter_permissions_for_taxonomy($taxonomy, $data) {
if ($taxonomy == 'restricted_taxonomy') {
$role = get_role('editor');
$role->add_cap("edit_$taxonomy");
}
}
このコードは、特定のタクソノミーに対する権限を変更しています。