php - WooCommerce:如何以编程方式将多个产品添加到购物车?
问题描述
每次单击添加到购物车按钮时,我想添加客户选择的产品数量的项目,
我尝试使用可变产品修改产品数量,woocommerce_add_to_cart_validation
但它会将可变产品两次添加到购物车中:
function so_validate_add_cart_item( $passed, $product_id, $quantity, $variation_id = '', $variations= '' ) {
global $product;
$product = new WC_Product($product_id);
if(!$variation_id) {
WC()->cart->add_to_cart( $product_id, ($quantity *3) - $quantity );
} else {
WC()->cart->add_to_cart( $variation_id, ($quantity *3) );
}
// do your validation, if not met switch $passed to false
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'so_validate_add_cart_item', 10, 5 );
解决方案
不太清楚你的意图是什么,但你可以使用以下钩子(不是 ajax,申请后检查购物车)
function my_add_to_cart_quantity( $quantity, $product_id ) {
$quantity = $quantity * 3;
return $quantity;
}
add_filter( 'woocommerce_add_to_cart_quantity', 'my_add_to_cart_quantity', 10, 2 );
推荐阅读
- powershell - 协助使用 PowerShell 自动升级的脚本
- java - 读取 csv 文件并过滤 Lambda (Java8) 中的特定列
- php - 我无法将三个数组传递给 laravel 视图
- angular - 错误:无法匹配任何路由。URL 段:'table/3'
- visual-studio - Visual Studio 中消息框的延迟
- c# - 使用 c# 超时发送电子邮件
- php - 来自 MySQL 的基于单行的 IF-ELSE
- webpack - Vue 包中出现意外的 Token 错误
- android - 当 EditText 有焦点时选择所有文本不起作用
- python - python记录__name__和包装