【发布时间】:2020-10-22 00:56:04
【问题描述】:
我使用自定义代码为每个产品的商店页面和类别页面添加了一个“数量”字段和“添加到购物车”按钮,并且还设置了数量字段的最小数量、最大数量和步骤产品 ID。这些产品是葡萄酒,对于其中一些产品,您可以购买至少 6 个,步长为 6,例如6、12、18、24 等,对于某些人,您可以购买至少 12 个,步长为 12,例如12、24、36、48 等。
这一切都显示得很好,但数量和价格并没有传递到购物车页面。无论订购多少,数量始终设置为最小值,并且当从商店或类别页面订购产品时,购物车页面上仅显示一个单位的价格。
function wpse_quantity_input_default( $args, $product ) {
$productID = $product->id;
foreach( WC()->cart->get_cart() as $key => $item ){
// MINIMUM / MAXIMUM
if($productID == '566' || $productID == '562' || $productID == '1177' || $productID == '1181' || $productID == '1183' || $productID == '1185' || $productID == '1242' || $productID == '1250' || $productID == '1251' || $productID == '1252' || $productID == '1254') {
$args['input_value'] = 12;
$args['max_value'] = 240; // Maximum value (variations)
$args['min_value'] = 12; // Minimum value (variations)
$args['step'] = 12; // Quantity steps
} else {
$args['input_value'] = 6;
$args['max_value'] = 120; // Maximum value (variations)
$args['min_value'] = 6; // Minimum value (variations)
$args['step'] = 6; // Quantity steps
}
}
return $args;
}
add_filter( 'woocommerce_quantity_input_args', 'wpse_quantity_input_default', 1000, 2 );
【问题讨论】:
-
添加到购物车的按钮是通过 ajax 还是通过 url 工作的?您能否也发布您的答案的代码
-
所以问题来自 Ajax 添加到购物车按钮(及其数量字段),所以你应该在你的问题中提供相关代码,如果你想有一个有用的答案......还有你实际提供的代码可以简化,因为您不需要像正在做的那样遍历购物车项目……请参阅下面的答案。
标签: php wordpress woocommerce field product-quantity