php - Woocommerce 自动添加到特定产品的购物车功能
问题描述
我已将此代码添加到购物车中添加自动产品还添加了另一个产品 ID 以排除此自动产品添加。但它不能正常工作。如何禁用特定产品的自动添加产品?
add_action('woocommerce_add_to_cart', 'add_product_to_cart_two');
function add_product_to_cart_two() {
if ( !is_admin() && !is_cart() && !is_checkout()) {
$product_id = 8788;
$excloud_product = 4555;
$found = false;
$items_count = 0;
//check if product already in cart
if ( sizeof( WC()->cart->get_cart() ) > 0 ) {
foreach ( WC()->cart->get_cart() as $cart_item_key => $values) {
$_product = $values['data'];
if ( $_product->get_id() == $product_id ){
$product_key = $cart_item_key;
$product_qty = $cart_item['quantity'];
$found = true;
}else {
$items_count++;
}
if ( $_product->get_id() == $product_id || $_product->get_id() == $excloud_product){
$product_key = $cart_item_key;
$product_qty = $cart_item['quantity'];
$found = true;
}else {
$items_count++;
}
}
// if product not found, add it
if ( ! $found ){
WC()->cart->add_to_cart( $product_id, $items_count );
}else{
WC()->cart->set_quantity( $product_key, $items_count );
}
}else{
WC()->cart->add_to_cart( $product_id );
}
}
}
解决方案
推荐阅读
- tally - 用于在计数中创建成本中心的 xml 格式
- c# - 如何将链接名称与链接 URL 进行比较(使用 C# 中的 Selenium webdriver)
- angular - Nativescript 代码共享:处理类变量
- android - 拖动时MapView非常慢
- r - 自动识别打开pdf文件的错误
- javascript - 如何使用 axios 处理 500 错误消息
- elasticsearch - 在 kibana-7.1.1 中将日期格式从纪元更改为日期
- javascript - 类型缺少类型中的以下属性?
- android - 如何使子项目产生 ZIP 工件
- java - 根据参数类类型创建实现类的新实例