概要
deleted_$THIS->OBJECT_TYPE_meta
アクションは、WooCommerce 内で特定のオブジェクトタイプのメタデータが削除された際にトリガーされます。このフックは、データの削除後に何らかの処理を実行するために使用されます。具体的には以下のような機能を実装する際に役立ちます。
- メタデータ削除後のキャッシュの更新
- 関連データのクリーンアップ
- カスタムログの記録
- データ整合性チェック
- 他のオプションの再計算
- メール通知の送信
構文
do_action('deleted_$THIS->OBJECT_TYPE_meta', $meta_id, $object_id, $meta_key);
パラメータ
$meta_id
: 削除されたメタデータの ID$object_id
: メタデータが関連するオブジェクトの ID$meta_key
: 削除されたメタデータのキー
戻り値
このアクションは戻り値を返しません。
WooCommerce バージョン
このアクションは WooCommerce バージョン 3.0 以降で利用可能です。
WordPress バージョン
このアクションは WordPress バージョン 4.0 以降で利用可能です。
サンプルコード
以下に、deleted_$THIS->OBJECT_TYPE_meta
アクションを使用したサンプルコードをいくつか示します。
1. メタデータ削除時にログを記録する
add_action('deleted_order_meta', 'log_deleted_order_meta', 10, 3);
function log_deleted_order_meta($meta_id, $object_id, $meta_key) {
$log_entry = sprintf('Meta ID %d of Order ID %d with key %s was deleted.', $meta_id, $object_id, $meta_key);
error_log($log_entry);
}
このコードは、注文のメタデータが削除された際に、その情報をエラーログに記録します。
2. キャッシュをクリアする
add_action('deleted_product_meta', 'clear_product_cache', 10, 3);
function clear_product_cache($meta_id, $object_id, $meta_key) {
if ($meta_key === '_custom_cache') {
wp_cache_delete($object_id, 'product_cache');
}
}
このコードは、特定のメタキーが削除された際に、製品のキャッシュをクリアします。
3. 関連するユーザーのメタデータも削除する
add_action('deleted_customer_meta', 'delete_related_user_meta', 10, 3);
function delete_related_user_meta($meta_id, $object_id, $meta_key) {
delete_user_meta($object_id, '_related_meta');
}
カスタマーのメタデータが削除された際に、関連するユーザーの特定のメタデータも削除します。
4. 削除が成功したことを通知する
add_action('deleted_coupon_meta', 'notify_admin_coupon_deleted', 10, 3);
function notify_admin_coupon_deleted($meta_id, $object_id, $meta_key) {
wp_mail('admin@example.com', 'Coupon Meta Deleted', "Meta ID {$meta_id} was deleted from Coupon ID {$object_id}.");
}
このコードは、クーポンメタが削除されたときに管理者に通知を送信します。
5. メタデータ削除時にデータ整合性を確認する
add_action('deleted_order_meta', 'check_order_data_integrity', 10, 3);
function check_order_data_integrity($meta_id, $object_id, $meta_key) {
// データ整合性を確認するロジックをここに記述
// 例: 何らかのビジネスロジックに基づく確認
}
このコードは、注文のメタデータが削除された際にデータの整合性を確認するために使用されます。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |