概要
cptui_after_delete_taxonomy
は、WordPressのCustom Post Type UIプラグインにおいて、タクソノミーが削除された後に呼び出されるアクションフックです。このフックは、タクソノミーを削除した際に追加の処理を実行する必要がある場合に非常に便利です。特に以下のような場面でよく使われます。
- タクソノミー削除後のログ記録
- タクソノミー関連のメタデータのクリア
- キャッシュの削除
- 他のプラグインとのインタラクション
- カスタムのリダイレクト処理
- ユーザーへの通知機能実装
構文
add_action('cptui_after_delete_taxonomy', 'your_custom_function', 10, 1);
パラメータ
$taxonomy
(string): 削除されたタクソノミーのスラッグ
戻り値
このアクションは特に戻り値を持たず、主に副作用のある処理を行うために使用されます。
使用可能なプラグインのバージョン
- Custom Post Type UI: バージョン 1.0以上
- WordPress: バージョン 4.0以上
サンプルコード
サンプルコード 1: タクソノミー削除後のログ記録
add_action('cptui_after_delete_taxonomy', 'log_deleted_taxonomy', 10, 1);
function log_deleted_taxonomy($taxonomy) {
$log_file = wp_upload_dir()['basedir'] . '/deleted_taxonomies.log';
$message = "タクソノミー '$taxonomy' が削除されました。n";
file_put_contents($log_file, $message, FILE_APPEND);
}
このコードは、タクソノミー削除時にその情報をログファイルに記録します。
サンプルコード 2: タクソノミー関連メタデータのクリア
add_action('cptui_after_delete_taxonomy', 'clear_taxonomy_meta', 10, 1);
function clear_taxonomy_meta($taxonomy) {
$terms = get_terms(['taxonomy' => $taxonomy, 'hide_empty' => false]);
foreach ($terms as $term) {
delete_term_meta($term->term_id, 'custom_meta');
}
}
このコードは、削除されたタクソノミーに関連するメタデータをクリアします。
サンプルコード 3: キャッシュの削除
add_action('cptui_after_delete_taxonomy', 'clear_cache_after_taxonomy_delete', 10, 1);
function clear_cache_after_taxonomy_delete($taxonomy) {
// WP Super Cacheや他のキャッシュプラグインを使用している場合
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
}
このコードは、タクソノミーが削除された後にキャッシュをクリアします。
サンプルコード 4: タクソノミー削除通知を管理者に送信
add_action('cptui_after_delete_taxonomy', 'notify_admin_taxonomy_deleted', 10, 1);
function notify_admin_taxonomy_deleted($taxonomy) {
$admin_email = get_option('admin_email');
wp_mail($admin_email, 'タクソノミー削除通知', "タクソノミー '$taxonomy' が削除されました。");
}
このコードは、タクソノミーが削除された際に管理者にメールで通知します。
サンプルコード 5: 別のプラグインとのインタラクション
add_action('cptui_after_delete_taxonomy', 'custom_plugin_integration', 10, 1);
function custom_plugin_integration($taxonomy) {
if (class_exists('Some_Custom_Plugin')) {
Some_Custom_Plugin::update_after_taxonomy_delete($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 |
この表は、cptui_after_delete_taxonomy
アクションが他のアクションフックで使用される可能性を示しています。