概要
woocommerce_coupon_hold_minutes
フィルタは、WooCommerceでのクーポンの保持時間を変更する際に使用されるフックです。このフックを利用することで、特定の要求に応じてクーポンの保持時間をカスタマイズできます。以下のような場面でよく利用されます:
- セール時のクーポン対応: セール期間中にクーポン使用を促進するために、保持時間を短縮する場合。
- バスケットリマインダー: ユーザーがカートにアイテムを追加した際、そのアイテムの購入を促すために保持時間を延長する場合。
- ユーザーの行動分析: 特定のユーザー行動に基づいて保持時間を調整し、コンバージョン率を向上させる。
- プロモーション時の設定: 限定キャンペーンに合わせてクーポンの有効期限を柔軟に設定する場合。
- カスタムクーポンシステム: 特定の顧客基盤に応じたクーポン保持時間を提供するためのカスタム設定。
- ユーザー体験の向上: リピート購入を促すために、適切なタイミングでクーポンを提供する。
構文
add_filter('woocommerce_coupon_hold_minutes', 'custom_coupon_hold_minutes');
パラメータ
$hold_minutes
: クーポンが保持される時間(分単位)。
戻り値
- 指定された分数に応じた整数値。デフォルトは 60 分。
対応するバージョン
- WooCommerce: バージョン 2.1.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: デフォルトの保持時間を変更する
このコードは、デフォルトのクーポン保持時間を120分に設定します。
add_filter('woocommerce_coupon_hold_minutes', function($hold_minutes) {
return 120; // クーポン保持時間を120分に変更
});
引用元: WooCommerce Hooks Documentation
サンプルコード 2: 特定のユーザーグループに対して保持時間を延長する
このコードは、特定のロールを持つユーザーのために保持時間を180分に設定します。
add_filter('woocommerce_coupon_hold_minutes', function($hold_minutes) {
if (current_user_can('premium_member')) {
return 180; // プレミアムメンバーには180分の延長
}
return $hold_minutes; // その他は元の時間を返す
});
引用元: WooCommerce Customization Guide
サンプルコード 3: セール時にクーポン保持時間を短縮する
このコードは、セール期間中はクーポン保持時間を30分に変更します。
add_filter('woocommerce_coupon_hold_minutes', function($hold_minutes) {
if (is_sale_period()) {
return 30; // セール中は保持時間を30分に短縮
}
return $hold_minutes; // 通常時の時間を返す
});
引用元: WordPress Plugin Repository
サンプルコード 4: 一般的な条件に基づいて保持時間を変更する
このコードでは、ユーザーのカート内の商品数によって保持時間を変更します。
add_filter('woocommerce_coupon_hold_minutes', function($hold_minutes) {
$cart_count = WC()->cart->get_cart_contents_count();
return $cart_count > 3 ? 90 : $hold_minutes; // 商品数が多い場合は90分
});
引用元: WooCommerce Dev Resources
サンプルコード 5: フィルターハンドラを別関数に分割する
このコードは、フィルターハンドラを別の関数に定義して、コードを整理しています。
function set_custom_coupon_hold_minutes($hold_minutes) {
return 150; // 150分に変更
}
add_filter('woocommerce_coupon_hold_minutes', 'set_custom_coupon_hold_minutes');
引用元: Comprehensive Guide to WooCommerce Filters
以上が woocommerce_coupon_hold_minutes
フィルタに関する解説とサンプルコードです。