単純な商品の場合、[配送] > [商品の重量] で設定した重量に基づいて数量セレクターの値を変更したいと考えています。 下の図に示すように、製品の重量を 0.5 kg に設定すると、製品数量セレクターは 0.5 から始まり、1 kg に設定すると 1 から始まります。最後に、重みを各数値に設定すると、定義した重みの数値に基づいて数量セレクターが起動するはずです。 コードを修正しましたが、1 未満の値では機能しません。
/*シンプルに基づく数量セレクター*/ functioncustom_quantity_selector_min_value( $min, $product ) { $weight = $product->get_weight(); if ( $weight > 0 ) { $min = $weight; } $min を返します。 } add_filter( 'woocommerce_quantity_input_min', 'custom_quantity_selector_min_value', 10, 2 ); //数量セレクターのステップ値を変更します。 functioncustom_quantity_selector_step( $step, $product ) { $weight = $product->get_weight(); if ( $weight > 0 ) { $step = $weight; } $step を返します。 } add_filter( 'woocommerce_quantity_input_step', 'custom_quantity_selector_step', 10, 2 ); //数量セレクターの値を動的に更新します。 functioncustom_quantity_selector_value( $input_value, $product ) { $weight = $product->get_weight(); if ( $weight > 0 ) { $input_value = $weight; } $input_value を返します。 } add_filter( 'woocommerce_quantity_input_value', 'custom_quantity_selector_value', 10, 2 );
使用する正しいコード置換 (Update):
期待どおりにスムーズに動作します:
(在庫管理用) も必ず追加してください:
リーリーコードは、アクティブな子テーマ (またはアクティブなテーマ) の function.php ファイルにあります。テスト済みで動作します。
重量が
0.5
の商品を含むページを読み込む場合:製品に正しい数量入力を設定し、
0.5
ステップでを増やします (通常のステップも 1)。カート ページでは、ステップ サイズ
0.5
(通常のステップ サイズも 1)ですべてが期待どおりに機能します。関連 (バリエーション用):WooCommerce で選択したバリエーションの重みに基づいて入力数量ステップ値を変更する