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

概要

cptui_taxonomy_deleted アクションは、Custom Post Type UI プラグインにてカスタムタクソノミーが削除された際に実行されるフックです。このアクションを使用すると、タクソノミーが削除されたときに特定の処理を自動的に実行できます。例えば、タクソノミーに関連するカスタムデータのクリーンアップや関連するキャッシュのクリアなどが考えられます。有効に活用することで、WordPress の管理を効率化することが可能です。

よく使われる機能の例

  1. 削除されたタクソノミーに関連する投稿のメタデータを削除。
  2. タクソノミーが削除された通知を管理者に送信。
  3. キャッシュプラグインのキャッシュをクリア。
  4. タクソノミーの削除に伴う補助的な処理。
  5. ログデータにタクソノミー削除の記録を追加。
  6. タクソノミーに依存するカスタムクエリをリフレッシュ。

このアクションは Custom Post Type UI プラグインのバージョン 1.0 以降で使用可能で、WordPress のバージョン 4.0 以降で動作します。

構文

do_action( 'cptui_taxonomy_deleted', $taxonomy );

パラメータ

  • $taxonomy: 削除されたタクソノミーのスラッグ(文字列)。

戻り値

  • 戻り値はありません。

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

アクション名 使用可能性
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_deleted', 'my_custom_taxonomy_deleted_function' );

function my_custom_taxonomy_deleted_function( $taxonomy ) {
    // 削除されたタクソノミーに関連するメタデータを削除します。
    global $wpdb;
    $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->postmeta} WHERE meta_key = %s", $taxonomy ) );
}

このサンプルコードは、削除されたタクソノミーに関連する全てのメタデータをデータベースから削除する処理を実装しています。

サンプルコード2

add_action( 'cptui_taxonomy_deleted', 'notify_admin_taxonomy_deleted' );

function notify_admin_taxonomy_deleted( $taxonomy ) {
    // 削除されたタクソノミーについて管理者にメールを送信します。
    $admin_email = get_option( 'admin_email' );
    wp_mail( $admin_email, 'タクソノミーが削除されました', 'タクソノミー ' . $taxonomy . ' が削除されました。');
}

このサンプルコードは、タクソノミーが削除された際に管理者にメール通知を送る機能を実装しています。

サンプルコード3

add_action( 'cptui_taxonomy_deleted', 'clear_cache_on_taxonomy_deleted' );

function clear_cache_on_taxonomy_deleted( $taxonomy ) {
    // キャッシュクリアの処理を実行します。
    if ( function_exists( 'clear_site_cache' ) ) {
        clear_site_cache();
    }
}

このサンプルコードは、タクソノミーが削除された時にサイトのキャッシュをクリアする処理を実装しています。

サンプルコード4

add_action( 'cptui_taxonomy_deleted', 'log_taxonomy_deletion' );

function log_taxonomy_deletion( $taxonomy ) {
    // タクソノミーの削除をログに記録します。
    error_log( 'タクソノミー ' . $taxonomy . ' が削除されました。' );
}

このサンプルコードは、削除されたタクソノミーの情報をエラーログに記録する機能を実装しています。

サンプルコード5

add_action( 'cptui_taxonomy_deleted', 'update_related_custom_query' );

function update_related_custom_query( $taxonomy ) {
    // カスタムクエリのリフレッシュロジックをここに追加します。
    // 例: クエリの再設定を行う処理を記述
}

このサンプルコードは、削除されたタクソノミーに依存するカスタムクエリをリフレッシュするためのロジックを実装します。その具体的な処理はコメントで示されています。

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


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