概要
woocommerce_before_trash_order
は、WooCommerceで注文がゴミ箱に移動される前に実行されるフックです。このアクションは、特定のロジックを実行する際に便利です。例えば、ログを記録したり、他のシステムにデータを送信したりすることが可能です。
このフックは以下のような機能を実装する際によく使われます:
- 注文のトラッキング
- 外部システムとのデータ同期
- データベースの監査ログ生成
- カスタム通知の送信
- ユーザーへのアラートの送信
- メタデータの処理
構文
do_action( 'woocommerce_before_trash_order', $order_id );
パラメータ
$order_id
: ゴミ箱に移動しようとしている注文のIDを表す整数。
戻り値
このアクションには戻り値はありません。
使用可能なバージョン
- WooCommerce: 3.0.0以降
- WordPress: 4.0以降
サンプルコード
サンプル1
add_action('woocommerce_before_trash_order', 'log_order_trash');
function log_order_trash($order_id) {
error_log("Order $order_id has been moved to trash.");
}
このコードは、注文がゴミ箱に移動されたときにログファイルにメッセージを記録します。
サンプル2
add_action('woocommerce_before_trash_order', 'notify_external_service');
function notify_external_service($order_id) {
// 外部サービスのAPIに通知を送信するコードを追加
}
このコードは、注文がゴミ箱に移動された際に外部サービスへ通知を送信するための雛形です。
サンプル3
add_action('woocommerce_before_trash_order', 'remove_order_meta');
function remove_order_meta($order_id) {
delete_post_meta($order_id, '_custom_meta_key');
}
このコードは、ゴミ箱に移動しようとしている注文からカスタムメタデータを削除します。
サンプル4
add_action('woocommerce_before_trash_order', 'alert_admin_on_order_trash');
function alert_admin_on_order_trash($order_id) {
wp_mail('admin@example.com', 'Order Trashed', "Order $order_id has been trashed.");
}
このコードは、管理者に対して注文がゴミ箱に移動したことをメールで通知します。
サンプル5
add_action('woocommerce_before_trash_order', 'add_trash_reason');
function add_trash_reason($order_id) {
update_post_meta($order_id, '_trash_reason', 'User requested refund');
}
このコードは、ゴミ箱に移動された注文に対して理由をメタデータとして保存します。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |