概要
cptui_taxonomy_update_save
は、WordPressのプラグイン「Custom Post Type UI」においてカスタムタクソノミーが保存される際にトリガーされるフックです。このアクションは、タクソノミーが更新された後に追加の処理を行うためによく使用されます。主に以下のような機能を実装する際に活用されることが多いです。
- タクソノミーに関連するカスタムデータを追加または更新する
- タクソノミーの投稿数や関連情報をキャッシュに保存する
- タクソノミーの変更履歴を記録する
- タクソノミーの操作後に外部APIと連携する
- タクソノミーのビジュアル表示をカスタマイズする
- タクソノミーの設定を管理者に通知する
構文
add_action('cptui_taxonomy_update_save', 'your_custom_function', 10, 2);
パラメータ
$taxonomy
: 更新されたタクソノミーの名前$args
: 更新されたタクソノミーの引数
戻り値
このアクションフックは戻り値を持たず、他の処理を実行するためのフックとして機能します。
使用可能なプラグインとバージョン
- Custom Post Type UI: 最新版(執筆時点でのバージョン)
- WordPress: 5.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_update_save', 'save_custom_metadata', 10, 2);
function save_custom_metadata($taxonomy, $args) {
if ($taxonomy === 'your_custom_taxonomy') {
update_option('custom_metadata_key', 'new_value');
}
}
このサンプルコードは、特定のカスタムタクソノミーが更新されると、関連するカスタムメタデータを保存します。
サンプルコード2: タクソノミーの更新履歴をログに記録
add_action('cptui_taxonomy_update_save', 'log_taxonomy_update', 10, 2);
function log_taxonomy_update($taxonomy, $args) {
error_log("Taxonomy '{$taxonomy}' has been updated with args: " . print_r($args, true));
}
このコードは、タクソノミーが更新されるたびに、更新された内容をエラーログに記録します。
サンプルコード3: 外部APIとの連携
add_action('cptui_taxonomy_update_save', 'notify_external_api', 10, 2);
function notify_external_api($taxonomy, $args) {
$response = wp_remote_post('https://api.example.com/notify', [
'body' => json_encode(['taxonomy' => $taxonomy, 'args' => $args]),
'headers' => ['Content-Type' => 'application/json'],
]);
}
このサンプルでは、タクソノミーの更新が行われると、外部APIに通知を送ります。
サンプルコード4: 管理者への通知
add_action('cptui_taxonomy_update_save', 'notify_admin_on_update', 10, 2);
function notify_admin_on_update($taxonomy, $args) {
$admin_email = get_option('admin_email');
wp_mail($admin_email, 'Taxonomy Updated', "The taxonomy '{$taxonomy}' was updated.");
}
このコードは、タクソノミーが更新された際に、管理者にメールで通知する機能を実装します。
サンプルコード5: タクソノミーのキャッシュをクリア
add_action('cptui_taxonomy_update_save', 'clear_taxonomy_cache', 10, 2);
function clear_taxonomy_cache($taxonomy, $args) {
if ($taxonomy === 'your_custom_taxonomy') {
// キャッシュクリア処理
wp_cache_delete('taxonomy_cache_key');
}
}
このサンプルでは、特定のタクソノミーが更新された際に、関連するキャッシュをクリアします。
各サンプルは、著作権フリーのものを参考にし、カスタマイズされています。