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

概要

cptui_taxonomy_submit_deleteアクションは、Custom Post Type UIプラグインでカスタムタクソノミーを削除する際に発動するフックです。このアクションは、タクソノミー削除時に特定の処理を実行したい場合に非常に便利です。具体的には、ユーザーがタクソノミーを削除する際のカスタマイズや通知、ログ記録などでよく使われます。

このアクションがよく使われる場面として、以下のようなケースが考えられます。
1. タクソノミー削除時のカスタム通知の送信
2. データベースのクリーンアップ
3. 削除されたタクソノミーに関連するカスタムメタデータの削除
4. カスタムログへの削除履歴の記録
5. REST APIのキャッシュクリア
6. タクソノミー削除後のフラッシュメッセージの表示

構文

add_action( 'cptui_taxonomy_submit_delete', 'your_custom_function', 10, 2 );

パラメータ

  • $taxonomy (string): 削除されたタクソノミーのスラッグ
  • $data (array): 削除に関するデータ

戻り値

このアクション自体は何も返さず、副作用として処理を行います。

使用可能なプラグインのバージョン

Custom Post Type UI: 1.8.3 以降

使用可能なワードプレスのバージョン

WordPress: 4.7 以降

この関数のアクションでの使用可能性

アクション 使用可能性
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_delete', 'log_taxonomy_deletion', 10, 2 );

function log_taxonomy_deletion( $taxonomy, $data ) {
    error_log( "Taxonomy '{$taxonomy}' was deleted." );
}

このコードは、タクソノミーが削除されたときに、その情報をエラーログに記録します。

サンプルコード元: https://developer.wordpress.org/reference/functions/error_log/

サンプル2: 削除時に関連メタの削除

add_action( 'cptui_taxonomy_submit_delete', 'delete_related_meta_on_taxonomy_delete', 10, 2 );

function delete_related_meta_on_taxonomy_delete( $taxonomy, $data ) {
    $terms = get_terms( $taxonomy, array('hide_empty' => false) );
    foreach ( $terms as $term ) {
        delete_term_meta( $term->term_id, 'custom_meta' );
    }
}

削除されたタクソノミーに関連するカスタムメタデータをすべて削除します。

サンプルコード元: https://developer.wordpress.org/reference/functions/delete_term_meta/

サンプル3: 削除通知の送信

add_action( 'cptui_taxonomy_submit_delete', 'send_deletion_notification', 10, 2 );

function send_deletion_notification( $taxonomy, $data ) {
    wp_mail( 'admin@example.com', 'Taxonomy Deleted', "{$taxonomy} has been deleted." );
}

タクソノミー削除時に管理者にメール通知を送信します。

サンプルコード元: https://developer.wordpress.org/reference/functions/wp_mail/

サンプル4: フラッシュメッセージの表示

add_action( 'cptui_taxonomy_submit_delete', 'flash_message_after_deletion', 10, 2 );

function flash_message_after_deletion( $taxonomy, $data ) {
    add_action( 'admin_notices', function() use ( $taxonomy ) {
        echo '<div class="notice notice-success"><p>Taxonomy ' . esc_html( $taxonomy ) . ' has been deleted successfully.</p></div>';
    });
}

タクソノミー削除後に成功メッセージを表示します。

サンプルコード元: https://developer.wordpress.org/reference/functions/add_action/#showing-notifications-in-admin

サンプル5: REST APIキャッシュのクリア

add_action( 'cptui_taxonomy_submit_delete', 'clear_api_cache_on_taxonomy_delete', 10, 2 );

function clear_api_cache_on_taxonomy_delete( $taxonomy, $data ) {
    // Clear specific cache related to the deleted taxonomy
    wp_cache_delete( 'taxonomy_' . $taxonomy . '_data', 'your_custom_cache_group' );
}

削除されたタクソノミーに関連する特定のキャッシュをクリアします。

サンプルコード元: https://developer.wordpress.org/reference/functions/wp_cache_delete/

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


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