在我的functions.php中有一個功能如何將購物車中的品質更新爲選定的品種?
這會將量輸入更改爲具有特定值的下拉列表。
function woocommerce_quantity_input($data) {
global $product;
$defaults = array(
'input_name' => $data['input_name'],
'input_value' => $data['input_value'],
'max_value' => apply_filters('woocommerce_quantity_input_max', '', $product),
'min_value' => apply_filters('woocommerce_quantity_input_min', '', $product),
'step' => apply_filters('woocommerce_quantity_input_step', '1', $product),
'style' => apply_filters('woocommerce_quantity_style', 'float:left; margin-right:10px;', $product)
);
if (! empty($defaults['min_value']))
$min = $defaults['min_value'];
else $min = 1;
if (! empty($defaults['max_value']))
$max = $defaults['max_value'];
else $max = 20;
if (! empty($defaults['step']))
$step = $defaults['step'];
else $step = 1;
$options = '';
for ($count = $min; $count <= $max; $count = $count+$step) {
$selected = $count === $defaults['input_value'] ? ' selected' : '';
$options .= '<option value="' . $count . '"'.$selected.'>' . $count . '</option>';
}
echo '<div class="quantity_select" style="' . $defaults['style'] . '"><select name="' . esc_attr($defaults['input_name']) . '" title="' . _x('Qty', 'Product quantity input tooltip', 'woocommerce') . '" class="qty">' . $options . '</select></div>';
}
具有這種功能的問題是,它也改變控管數量在車到下拉以及和套默認爲1
用戶情況下:
用戶選擇1.5量的產品,成本的單個產品頁面上10美元。然後繼續結帳。然後在購物車中有15美元的價格和數量是1.
我看到了修復它的兩種方法。
一個是隻包含單個頁面的功能,但不知道它是如何完成的。試着用$ product-> type =='product'在函數內部進行嘗試,但因爲這覆蓋了原來的那個,所以下拉菜單根本就不會顯示在購物車頁面上。
最好的方法是使用購物車中選定的金額/值更新下拉菜單。
任何提示或幫助,將不勝感激。
在此先感謝!編輯: var_dump($ data)output;
array(4) { ["input_name"]=> string(43) "cart[ec3686cdd117b8c6b8992f22e04a415b][qty]" ["input_value"]=> int(1) ["max_value"]=> NULL ["min_value"]=> string(1) "0" } 1
購物車中的將input_value更新後的值變爲浮動:
array(4) { ["input_name"]=> string(43) "cart[ec3686cdd117b8c6b8992f22e04a415b][qty]" ["input_value"]=> float(2.2) ["max_value"]=> NULL ["min_value"]=> string(1) "0" } 2.2
用戶是否應該只能選擇整數或是否要支持十進制值? – sjdaws
用戶應該可以使用小數點是。 – Giedrius
你可以甩掉每個變量的值,尤其是'$ step'? – sjdaws