概要
woocommerce_coupons_enabled
フィルタは、WooCommerceのクーポン機能の有効化を制御するために使用されます。このフィルタを利用することで、特定の条件下でクーポンの使用を許可または拒否することができます。一般的には、以下のような機能を実装する際に使用されます:
- 特定のユーザーにのみクーポンを適用
- 商品カテゴリーによるクーポンの制限
- 軽減されるクーポンの条件付け
- 定期購入に対するクーポン利用の制御
- 特定のクーポンコードの無効化
- セール時のクーポンの適用可否
構文
add_filter( 'woocommerce_coupons_enabled', 'custom_function' );
パラメータ
$enabled
(bool): 現在のクーポン使用の有無を示す真偽値。
戻り値
- (bool): クーポンが有効かどうかを示す真偽値を返します。
バージョン
- WooCommerce: すべてのバージョンで利用可能。
- WordPress: すべてのバージョンで使用可能。
サンプルコード
サンプルコード 1: 特定のロールのユーザーにクーポンを許可
add_filter( 'woocommerce_coupons_enabled', 'allow_coupons_for_specific_role' );
function allow_coupons_for_specific_role( $enabled ) {
if ( current_user_can( 'editor' ) ) {
return true; // エディターロールのユーザーはクーポンを使用できる
}
return false; // その他のユーザーはクーポンを使用できない
}
このコードは、ユーザーが「エディター」権限を持っている場合にのみ、クーポンの使用を許可します。
サンプルコード 2: 商品カテゴリーに基づいてクーポンを無効化
add_filter( 'woocommerce_coupons_enabled', 'disable_coupons_for_specific_category' );
function disable_coupons_for_specific_category( $enabled ) {
if ( is_product() && has_term( '特定のカテゴリー', 'product_cat' ) ) {
return false; // 特定のカテゴリーに該当する場合はクーポンを無効化
}
return $enabled;
}
このコードでは、特定のカテゴリーに属する商品が表示されている場合、クーポンを使用できなくします。
サンプルコード 3: セール時にクーポンを無効化
add_filter( 'woocommerce_coupons_enabled', 'disable_coupons_on_sale' );
function disable_coupons_on_sale( $enabled ) {
if ( is_sale() ) {
return false; // セール中はクーポンを無効化
}
return $enabled;
}
このコードは、セール中にクーポンの使用を制限します。
サンプルコード 4: 特定のクーポンコードの無効化
add_filter( 'woocommerce_coupons_enabled', 'disable_specific_coupon_code' );
function disable_specific_coupon_code( $enabled ) {
if ( isset( $_GET['coupon'] ) && $_GET['coupon'] === '無効化したいクーポンコード' ) {
return false; // 特定のクーポンコードを無効にする
}
return $enabled;
}
このコードは、指定されたクーポンコードが使用された場合、そのクーポンの使用を無効にします。
サンプルコード 5: カスタム条件でクーポンを無効化
add_filter( 'woocommerce_coupons_enabled', 'conditional_coupon_usage' );
function conditional_coupon_usage( $enabled ) {
$current_date = date('Y-m-d');
if ( $current_date > '2023-12-31' ) {
return false; // 特定の日付以降はクーポンを無効化
}
return $enabled;
}
このコードは、特定の日付(ここでは2023-12-31)以降でクーポンを使用できないようにします。
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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 |