概要
woocommerce_quantity_input_max
フィルタは、WooCommerce での商品の数量入力フィールドの最大値をカスタマイズするために使用されます。このフィルタを使用することで、特定の商品に対して最大購入数量や、特定の条件での数量制限を設定することが可能です。
このフィルタは以下のような機能を実装する際によく使われます:
1. 商品の購入数量に制限を設ける場合。
2. 在庫のある商品の最大購入数を設定する場合。
3. プロモーションやキャンペーンにより、数量を制限したい場合。
4. 特定の顧客に対して数量制限を設ける場合。
5. 予約販売やプレオーダーの数量制限を設定する場合。
6. 複数のバリエーションを持つ商品の最大購入数量を制御する場合。
フィルタの概要
- 構文:
add_filter( 'woocommerce_quantity_input_max', 'callback_function', 10, 2 );
- パラメータ:
$max
(int): 最大数量。$product
(WC_Product): 現在の製品オブジェクト。
- 戻り値: 新しい最大数量 (int)。
- 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: 最大数量を10に設定する
このコードは、商品の最大購入数量を10に設定します。
add_filter( 'woocommerce_quantity_input_max', function( $max, $product ) {
return 10;
}, 10, 2 );
引用元: https://www.example1.com
サンプルコード2: 在庫数を最大購入数量に設定する
このコードは、商品の在庫数を最大数量に設定します。
add_filter( 'woocommerce_quantity_input_max', function( $max, $product ) {
return $product->get_stock_quantity();
}, 10, 2 );
引用元: https://www.example2.com
サンプルコード3: 特定の商品IDに対する最大数量を設定
このコードは、特定の商品IDに対して最大数量を5に設定します。
add_filter( 'woocommerce_quantity_input_max', function( $max, $product ) {
if ( $product->get_id() === 123 ) { // 商品ID 123
return 5;
}
return $max;
}, 10, 2 );
引用元: https://www.example3.com
サンプルコード4: ログインユーザーの購入数量を制限
このコードは、ログインユーザーの最大購入数量を3に設定します。
add_filter( 'woocommerce_quantity_input_max', function( $max, $product ) {
if ( is_user_logged_in() ) {
return 3;
}
return $max;
}, 10, 2 );
引用元: https://www.example4.com
サンプルコード5: 日曜日に最大数量を制限
このコードは、日曜日に商品の最大購入数量を1に設定します。
add_filter( 'woocommerce_quantity_input_max', function( $max, $product ) {
if ( date('w') == 0 ) { // 日曜日
return 1;
}
return $max;
}, 10, 2 );
引用元: https://www.example5.com