概要
woocommerce_refund_deleted
は、WooCommerce での返金が削除された際にトリガーされるフックです。このアクションは、特に次のような機能を実装する際によく使われます。
- 返金履歴の更新
- ユーザーへの通知の送信
- 外部システムとの連携(例:在庫管理システム)
- 分析ログの記録
- カスタムメトリクスの更新
- モバイルアプリや他のプラットフォームへの通知
構文
do_action('woocommerce_refund_deleted', $refund_id);
パラメータ
$refund_id
(int): 削除された返金の ID。
戻り値
このアクションには戻り値はありません。
WooCommerce および WordPress のバージョン
- WooCommerce バージョン: すべてのバージョン(特に 3.0以降)
- 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_refund_deleted', 'custom_log_refund_deleted', 10, 1);
function custom_log_refund_deleted($refund_id) {
$log_message = 'Refund with ID ' . $refund_id . ' has been deleted.';
error_log($log_message);
}
説明: このコードは、woocommerce_refund_deleted
アクションがトリガーされたときにエラーログにメッセージを記録します。
サンプル2: ユーザーに通知を送信
このサンプルは、返金の削除後にユーザーにメール通知を送る例です。
add_action('woocommerce_refund_deleted', 'notify_user_refund_deleted', 10, 1);
function notify_user_refund_deleted($refund_id) {
$refund = wc_get_order($refund_id);
$user_email = $refund->get_billing_email();
wp_mail($user_email, 'Refund Deleted', 'Your refund has been deleted.');
}
説明: このコードは、返金削除後に顧客に通知メールを送信します。
サンプル3: 外部システムへの通知
外部APIに返金削除の通知を送信するサンプルです。
add_action('woocommerce_refund_deleted', 'send_notification_to_external_system', 10, 1);
function send_notification_to_external_system($refund_id) {
$url = 'https://externalapi.com/notify';
$args = array(
'body' => json_encode(array('refund_id' => $refund_id)),
'headers' => array('Content-Type' => 'application/json'),
);
wp_remote_post($url, $args);
}
説明: 外部APIに対して返金削除の通知リクエストを送信します。
サンプル4: 返金履歴のカスタムエントリー変更
返金履歴を更新するカスタム関数のサンプルです。
add_action('woocommerce_refund_deleted', 'update_custom_refund_history', 10, 1);
function update_custom_refund_history($refund_id) {
// カスタムデータベーステーブルの更新処理
global $wpdb;
$wpdb->delete('custom_refund_history', array('refund_id' => $refund_id));
}
説明: カスタムデータベーステーブルから削除された返金の情報を削除します。
サンプル5: 返金削除時にカスタムメトリクスの更新
返金削除に伴ってカスタムメトリクスを更新する例です。
add_action('woocommerce_refund_deleted', 'update_custom_metrics_on_refund_deleted', 10, 1);
function update_custom_metrics_on_refund_deleted($refund_id) {
// カスタムメトリクスの更新処理
// ここにカスタムロジックを記述
}
説明: 返金が削除された際にカスタムメトリクスを更新するための関数の雛形です。