在 WooCommerce 中根据重量更改简单产品的输入数量步骤值
P粉351138462
2023-09-04 21:55:45
<p>我希望数量选择器值根据我们在“运输”>“产品重量”中为简单产品设置的重量进行更改。
如下图所示,当我们将产品的重量设置为0.5公斤时,产品数量选择器从0.5开始,如果我们设置为1公斤,则从1开始。最后当我们将重量设置为每个数字时,数量选择器应该根据我们定义的权重数字启动。
我修改了代码,但它不适用于小于 1 的值。</p>
<pre class="brush:php;toolbar:false;">/*Quantity Selector Based On Simple*/
function custom_quantity_selector_min_value( $min, $product ) {
$weight = $product->get_weight();
if ( $weight > 0 ) {
$min = $weight;
}
return $min;
}
add_filter( 'woocommerce_quantity_input_min', 'custom_quantity_selector_min_value', 10, 2 );
//Modify the quantity selector step value.
function custom_quantity_selector_step( $step, $product ) {
$weight = $product->get_weight();
if ( $weight > 0 ) {
$step = $weight;
}
return $step;
}
add_filter( 'woocommerce_quantity_input_step', 'custom_quantity_selector_step', 10, 2 );
//Update the quantity selector value dynamically.
function custom_quantity_selector_value( $input_value, $product ) {
$weight = $product->get_weight();
if ( $weight > 0 ) {
$input_value = $weight;
}
return $input_value;
}
add_filter( 'woocommerce_quantity_input_value', 'custom_quantity_selector_value', 10, 2 );</pre></p>
要使用的正确代码替换(更新):
它将按预期顺利工作:
请确保您也添加了(用于库存管理):
代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并有效。
加载包含
0.5
重量的产品的页面时:在产品上设置正确的数量输入,并以
0.5
的步长增加(正常步长也是 1)。在购物车页面上,一切都按预期进行,步长为
0.5
(正常步长也是 1)。相关(针对变体):根据 WooCommerce 中选定的变化权重更改输入数量步骤值