概要
cptui_taxonomy_delete_tax
アクションは、Custom Post Type UI(CPT UI)プラグインによって定義されたカスタムタクソノミーが削除される際にフックされるアクションです。このアクションを使用することで、特定のタクソノミーが削除される際にカスタムコードを実行することができます。
このアクションは、以下のような機能を実装する際によく使用されます。
1. タクソノミー削除に伴うデータベースのクリーンアップ
2. 関連するメタデータの削除
3. カスタムフィールドの更新
4. カスタムタクソノミーに依存するオプションの再設定
5. 削除するタクソノミーに関連するウェブサイトの要素の非表示
6. ログ記録やアナリティクスのトリガー
構文
add_action( 'cptui_taxonomy_delete_tax', 'my_custom_function', 10, 1 );
パラメータ
$taxonomy
: 削除されるタクソノミーの名前(文字列)。
戻り値
戻り値はありません。フックによって実行されるカスタムコードの結果に依存します。
使用可能なプラグインのバージョン
- Custom Post Type UI バージョン: 1.12.1以降
- 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_delete_tax', 'log_deleted_taxonomy', 10, 1 );
function log_deleted_taxonomy( $taxonomy ) {
error_log( "タクソノミー '{$taxonomy}' が削除されました。" );
}
このコードは、特定のカスタムタクソノミーが削除されると、エラーログにメッセージを記録します。
サンプルコード2: タクソノミー削除後にカスタムオプションを削除する
add_action( 'cptui_taxonomy_delete_tax', 'remove_custom_options', 10, 1 );
function remove_custom_options( $taxonomy ) {
delete_option( "custom_option_for_{$taxonomy}" );
}
このコードは、削除されたタクソノミーに関連するカスタムオプションを削除します。
サンプルコード3: タクソノミー削除時にメタデータを削除する
add_action( 'cptui_taxonomy_delete_tax', 'delete_taxonomy_meta', 10, 1 );
function delete_taxonomy_meta( $taxonomy ) {
global $wpdb;
$wpdb->delete( $wpdb->postmeta, array( 'meta_key' => "meta_for_{$taxonomy}" ) );
}
このコードは、削除されたタクソノミーに関連した全てのメタデータを削除します。
サンプルコード4: カスタムテーブルからタクソノミー関連の行を削除する
add_action( 'cptui_taxonomy_delete_tax', 'delete_related_table_rows', 10, 1 );
function delete_related_table_rows( $taxonomy ) {
global $wpdb;
$wpdb->delete( 'custom_table', array( 'taxonomy_name' => $taxonomy ) );
}
このコードは、削除されたタクソノミーに関連するカスタムデータベーステーブルの行を削除します。
サンプルコード5: タクソノミー削除時に関連フィードを非表示にする
add_action( 'cptui_taxonomy_delete_tax', 'hide_related_feed', 10, 1 );
function hide_related_feed( $taxonomy ) {
// 特定のタクソノミーに関連するフィードを非表示にするロジック
}
このコードは、削除されたタクソノミーに関連するフィードを非表示にするためのロジックを追加する場所を提供します。具体的な非表示の実装は、要件に応じて書く必要があります。