概要
woocommerce_update_coupon_usage_invalid_statuses
フィルタは、WooCommerceでクーポンの使用状況を更新する際に、無効なステータスをフィルタリングするために使用します。このフィルタは、クーポンの適用や無効化に関する処理をカスタマイズする際に役立ちます。具体的には次のような機能に使われることがよくあります。
- クーポンの使用状況を特定のステータスに基づいて制御する。
- 無効なクーポン使用を避けるためのロジックを追加する。
- ステータスに応じた独自のメッセージを表示する。
- 特定の条件を満たす場合にのみクーポンを適用する。
- 管理画面でのクーポン管理を強化する。
- クーポン適用後の処理を変更するためのフックとして使用する。
構文
add_filter('woocommerce_update_coupon_usage_invalid_statuses', 'your_custom_function');
function your_custom_function($invalid_statuses) {
// カスタムロジックを追加
return $invalid_statuses;
}
パラメータ
$invalid_statuses
: 無効なステータスの配列です。この配列を変更して、無効なステータスを設定することができます。
戻り値
- 変更後の無効なステータスの配列を返します。
利用可能なバージョン
- WooCommerceのバージョン: 3.0.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_filter('woocommerce_update_coupon_usage_invalid_statuses', 'exclude_canceled_orders');
function exclude_canceled_orders($invalid_statuses) {
// 'canceled' ステータスを無効なステータスに追加する
$invalid_statuses[] = 'canceled';
return $invalid_statuses;
}
このコードは、クーポンがキャンセルされた注文では使用できないように、キャンセルされたステータスを無効なステータスとして追加します。
サンプルコード 2
add_filter('woocommerce_update_coupon_usage_invalid_statuses', 'add_custom_invalid_status');
function add_custom_invalid_status($invalid_statuses) {
// 'failed' ステータスを無効にする
if (!in_array('failed', $invalid_statuses)) {
$invalid_statuses[] = 'failed';
}
return $invalid_statuses;
}
このコードは、失敗した支払いのステータスをクーポンの使用に対する無効なステータスとして追加します。
サンプルコード 3
add_filter('woocommerce_update_coupon_usage_invalid_statuses', 'remove_completed_status');
function remove_completed_status($invalid_statuses) {
// 'completed' ステータスを無効なステータスから削除
if (($key = array_search('completed', $invalid_statuses)) !== false) {
unset($invalid_statuses[$key]);
}
return $invalid_statuses;
}
このコードは、完了した注文ステータスをクーポンの無効なステータスから削除します。
サンプルコード 4
add_filter('woocommerce_update_coupon_usage_invalid_statuses', 'restrict_on_processing_orders');
function restrict_on_processing_orders($invalid_statuses) {
// 'processing' ステータスを無効にする
if (!in_array('processing', $invalid_statuses)) {
$invalid_statuses[] = 'processing';
}
return $invalid_statuses;
}
このコードは、処理中の注文に対してクーポンを使用できないように設定します。
サンプルコード 5
add_filter('woocommerce_update_coupon_usage_invalid_statuses', 'track_refunded_orders');
function track_refunded_orders($invalid_statuses) {
// 'refunded' ステータスを無効にする
$invalid_statuses[] = 'refunded';
return $invalid_statuses;
}
このコードは、返金済みの注文に対してクーポンの使用を無効にします。