プラグインCustom Post Type UIのcptui_taxonomy_update_saveアクションの使用方法・解説

概要

cptui_taxonomy_update_save は、WordPressのプラグイン「Custom Post Type UI」においてカスタムタクソノミーが保存される際にトリガーされるフックです。このアクションは、タクソノミーが更新された後に追加の処理を行うためによく使用されます。主に以下のような機能を実装する際に活用されることが多いです。

  1. タクソノミーに関連するカスタムデータを追加または更新する
  2. タクソノミーの投稿数や関連情報をキャッシュに保存する
  3. タクソノミーの変更履歴を記録する
  4. タクソノミーの操作後に外部APIと連携する
  5. タクソノミーのビジュアル表示をカスタマイズする
  6. タクソノミーの設定を管理者に通知する

構文

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');
    }
}

このサンプルでは、特定のタクソノミーが更新された際に、関連するキャッシュをクリアします。

各サンプルは、著作権フリーのものを参考にし、カスタマイズされています。

この関数について質問する


上の計算式の答えを入力してください