概要
tec_event_aggregator_direct_record_deletion
は、The Events Calendarプラグインで使用されるアクションフックです。このアクションは、イベントデータが直接削除された際にトリガーされます。データが削除されるタイミングでのカスタム処理を実装するために使用され、例えば、特定の通知を送る、ログを記録する、他の関連データを削除する、などの操作が考えられます。具体的には以下のような機能を実装する際によく使われます:
- 削除されたイベントに関連する通知の送信
- 削除ログの記録
- 他の関連情報の自動削除
- キャッシュのクリア
- フロントエンドの表示更新
- カスタムデータベース操作の実行
構文
do_action('tec_event_aggregator_direct_record_deletion', $event_id);
パラメータ
$event_id
: 削除されたイベントのIDを表す整数値。
戻り値
- このアクション自体は値を返しません。
互換性
- The Events Calendarバージョン: 6.0以上
- 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('tec_event_aggregator_direct_record_deletion', 'log_deleted_event');
function log_deleted_event($event_id) {
error_log('Event ID ' . $event_id . ' has been deleted.');
}
このコードは、イベントが削除されたときにそのイベントIDをログに記録します。
サンプル2
add_action('tec_event_aggregator_direct_record_deletion', 'send_deletion_notification');
function send_deletion_notification($event_id) {
// 通知の送信処理
$event = get_post($event_id);
wp_mail('admin@example.com', 'Event Deleted', $event->post_title . ' has been deleted.');
}
このコードは、イベントが削除された後、管理者に通知メールを送信します。
サンプル3
add_action('tec_event_aggregator_direct_record_deletion', 'custom_clear_event_cache');
function custom_clear_event_cache($event_id) {
// イベントに関連するキャッシュをクリアする処理
delete_transient('event_cache_' . $event_id);
}
このコードは、削除されたイベントに関連するキャッシュをクリアします。
サンプル4
add_action('tec_event_aggregator_direct_record_deletion', 'remove_related_data');
function remove_related_data($event_id) {
// 関連するカスタムデータの削除
global $wpdb;
$wpdb->delete('related_table', array('event_id' => $event_id));
}
このコードは、削除されたイベントに関連するカスタムデータをデータベースから削除します。
サンプル5
add_action('tec_event_aggregator_direct_record_deletion', 'update_event_list');
function update_event_list($event_id) {
// フロントエンドのイベントリストを更新する処理
// 例: キャッシュの再生成処理など
}
このコードは、イベントが削除された後にフロントエンドのイベントリストを更新するための処理を行います。