概要
woocommerce_trash_coupon
は、WooCommerce プラグイン内でクーポンがゴミ箱に移動されたときに発火するアクションフックです。このフックは、クーポンが削除される際に特定の処理を実行するために使用されます。主に以下のような機能を実装する際によく使われます。
- クーポン削除時のログ記録
- 削除されたクーポンに関連するメタデータのクリーンアップ
- 削除したクーポンに対する通知の送信
- 特定のユーザーロールへのアクセス権限の更新
- クーポンの削除に関するカスタム処理の実行
- 過去のクーポン使用状況の関連データの削除
構文
do_action('woocommerce_trash_coupon', $coupon_id);
パラメータ
$coupon_id
(整数) : ゴミ箱に移動されたクーポンの ID。
戻り値
- 戻り値はありません。アクションフックなので、指定した処理が実行されることが目的となります。
使用可能な WooCommerce のバージョン
- WooCommerce 3.0以上
使用可能な WordPress のバージョン
- WordPress 4.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('woocommerce_trash_coupon', 'log_coupon_deletion', 10, 1);
function log_coupon_deletion($coupon_id) {
$coupon = new WC_Coupon($coupon_id);
error_log('Coupon deleted: ' . $coupon->get_code());
}
このコードは、クーポンがゴミ箱に移動されたときにそのクーポンのコードをエラーログに記録します。
サンプルコード 2: 削除されたクーポンのメタデータを削除
add_action('woocommerce_trash_coupon', 'delete_coupon_metadata', 10, 1);
function delete_coupon_metadata($coupon_id) {
delete_post_meta($coupon_id, 'saved_data_key');
}
このコードは、削除されたクーポンに関連するカスタムメタデータをクリーンアップします。
サンプルコード 3: クーポン削除時の通知
add_action('woocommerce_trash_coupon', 'notify_coupon_deleted', 10, 1);
function notify_coupon_deleted($coupon_id) {
$coupon = new WC_Coupon($coupon_id);
wp_mail('admin@example.com', 'クーポン削除通知', 'クーポン ' . $coupon->get_code() . ' が削除されました。');
}
このコードは、クーポンが削除されたときに管理者にメール通知を送信します。
サンプルコード 4: 特定のユーザーロールのアクセス権限を更新
add_action('woocommerce_trash_coupon', 'update_user_role_on_coupon_trash', 10, 1);
function update_user_role_on_coupon_trash($coupon_id) {
$users = get_users(array('role' => 'editor'));
foreach ($users as $user) {
$user->remove_cap('use_coupon_' . $coupon_id); // 假設の許可を削除
}
}
このコードは、クーポンがゴミ箱に移動された際に特定のユーザーの権限を更新します。
サンプルコード 5: クーポン使用履歴の削除
add_action('woocommerce_trash_coupon', 'clean_coupon_usage_history', 10, 1);
function clean_coupon_usage_history($coupon_id) {
global $wpdb;
$wpdb->delete($wpdb->prefix . 'coupon_usage_history', array('coupon_id' => $coupon_id));
}
このコードは、クーポンが削除された際にその使用履歴をデータベースから削除します。