概要
woocommerce_add_to_cart_sold_individually_quantity
フィルタは、WooCommerceで単一商品のカートへの追加時に数量の設定を変更するために使用されます。このフィルタを使用すると、特定の商品が複数購入できない場合に、カートに追加できる数量を制限することができます。このフィルタは、特に以下のような機能を実装する際に役立ちます。
- 在庫管理:特定の商品が在庫が少ない場合、数量を制限。
- プレオーダー商品:事前予約商品において数量を1に固定。
- 限定商品:数量制限が必要な限定商品に対する適用。
- 販売戦略:プロモーションやキャンペーン時に数量を制限。
- 特定顧客向けの設定:特定の顧客に対して購入数量を設定。
- 商品状態に応じた設定:商品の状態や属性に基づいて数量を変更。
構文
apply_filters( 'woocommerce_add_to_cart_sold_individually_quantity', $quantity, $product );
パラメータ
$quantity
(int) : カートに追加する数量のデフォルト値。通常は1。$product
(WC_Product) : 現在追加しようとしている製品のオブジェクト。
戻り値
- (int) : フィルターされた数量。
バージョン
- このフィルタはWooCommerce 3.0.0以上で使用可能。
- WordPress 4.9以上で使用可能。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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_add_to_cart_sold_individually_quantity', function( $quantity, $product ) {
if ( $product->get_id() === 123 ) { // 特定の商品ID
return 2; // この商品は2個まで購入可能
}
return $quantity;
});
このコードは、特定の商品ID(123)に対して、購入可能な数量を2に設定しています。この商品は、デフォルトの1個から変更されています。
サンプルコード2
add_filter( 'woocommerce_add_to_cart_sold_individually_quantity', function( $quantity, $product ) {
return 1; // 全ての商品に対して数量を1に固定
});
このコードは、すべての商品に対して数量を常に1に設定します。これにより、顧客は1つのアイテムしかカートに追加できません。
サンプルコード3
add_filter( 'woocommerce_add_to_cart_sold_individually_quantity', function( $quantity, $product ) {
if ( $product->is_type( 'variable' ) ) {
return 3; // 変数商品の場合は最大3個まで購入
}
return $quantity;
});
このコードは、変数商品に対して最大購入数量を3に設定しています。他の商品の場合はデフォルトの数量が適用されます。
サンプルコード4
add_filter( 'woocommerce_add_to_cart_sold_individually_quantity', function( $quantity, $product ) {
if ( is_user_logged_in() && current_user_can( 'special_customer_role' ) ) {
return 5; // 特定のユーザーには数量を5に設定
}
return $quantity;
});
このコードは、特定のユーザー権限を持つ場合に限り、購入可能な数量を5に設定します。他のユーザーにはデフォルトの数量が適用されます。
サンプルコード5
add_filter( 'woocommerce_add_to_cart_sold_individually_quantity', function( $quantity, $product ) {
if ( $product->get_stock_quantity() < 10 ) {
return 1; // 在庫が10未満の場合は数量を1に制限
}
return $quantity;
});
このコードは、在庫が10未満の商品に対して、購入可能な数量を1に制限します。在庫が十分にある場合はデフォルトの数量が適用されます。
これらのサンプルコードは、WooCommerceのフィルタを使用してカートに追加する商品の数量を制御する方法の例です。各コードは異なる条件や要件に基づいて設定されており、ニーズに応じてカスタマイズが可能です。