我有非常具体的项目,我需要一些不同的购物车规则。我找不到关于如何实现这一点的插件或任何其他资源。我有子类别 1(即 table )和子类别 2(即椅子)。用户只能从 子类别 Tables 中添加 1 个产品,这是强制性的,并且可以从 子类别 Chairs 中添加任意数量的产品,这是非强制性的。 我需要下一条规则: 如果用户还添加了 子类别椅子 的产品,则从 子类别表 产品中减去 子类别椅子 产品的总价。同样在这种情况下,如果价格将 有谁知道如何使用标准的 Wordpress Woocommerce 来做到这一点? 最佳答案 有可能使这项工作,根据您的子类别要求和计算在购物车中添加折扣......编码:add_action( 'woocommerce_cart_calculate_fees','table_chairs_cart_discount', 10, 1 );function table_chairs_cart_discount($cart_object) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; // Initializing variables $chairs_total = 0; $table_total = 0; $discount = 0; // Iterating through each cart item foreach($cart_object->get_cart() as $item_key => $item): $item_line_total = $item["line_total"]; // Item total price (price x quantity) // Chairs subcategory items if(has_term('chairs', 'product_cat', $item['product_id'])) $chairs_total += $item_line_total; // Table subcategory items if(has_term('table', 'product_cat', $item['product_id'])) $table_total += $item_line_total; endforeach; // ## CALCULATIONS ## if( $table_total <= $chairs_total && $chairs_total > 0 ) $discount -= $table_total; elseif ($chairs_total > 0) $discount -= $chairs_total; // Adding the discount if ($discount != 0) $cart_object->add_fee( __( 'Chairs discount', 'woocommerce' ), $discount, false ); // Note: Last argument in add_fee() method is related to applying the tax or not to the discount (true or false)}代码位于事件子主题(或主题)的 function.php 文件中。或者也可以在任何插件 php 文件中。相关答案:Discount for Certain Category Based on Total Number of Products关于php - WooCommerce - 基于子类别的条件购物车计算,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40996529/
10-13 07:51