- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用此代码为注册用户设置“欢迎”折扣:
add_action( 'woocommerce_cart_calculate_fees', 'personal_discount_based', 20, 1 );
function personal_discount_based( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$user = get_user_data();
$usId = $user->ID;
update_user_meta( $usId, 'discount', 5 );
$personalDisconte = $user->discount;
$orderNumbers = wc_get_customer_order_count($usid);
if ( ! $personalDisconte == true )
return;
$percentage = $personalDisconte;
$discount = $cart->get_subtotal() * $percentage / 100;
if(!empty($orderNumbers) && $orderNumbers == 1){
update_user_meta( $usId, 'discount', 0 );
}elseif( $orderNumbers > 1){
$cart->add_fee( sprintf( __("Discount (%s)", "woocommerce"), $percentage . '%'), -$discount, true );
}else{
$cart->add_fee( sprintf( __("Discount (%s)", "woocommerce"), $percentage . '%'), -$discount, true );
}
}
这段代码发挥了它的作用。但现在我面临另一个问题。当然,折扣适用于整个订单金额。在这种情况下,订单可能已经包含有折扣的产品。而这个选项不适合卖家。
最佳答案
如果您为尚未购买的新客户应用欢迎折扣,您的代码会变得很复杂,因此我简化了您的代码。
然后要获取非“特价”商品的购物车小计,您需要遍历购物车商品以获取它。
重新访问的代码:
add_action( 'woocommerce_cart_calculate_fees', 'welcome_discount_on_normal_items', 20, 1 );
function welcome_discount_on_normal_items( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$user_id = get_current_user_id();
if( $user_id > 0 ) {
$percentage = 5; // Discount percentage
$orders_count = (int) wc_get_customer_order_count($user_id);
$subtotal = 0; // Initializing
// Loop through cart items
foreach( $cart->get_cart() as $cart_item ) {
// Add non on sale items to subtotal
if( ! $cart_item['data']->is_on_sale() ) {
$subtotal += $cart_item['line_subtotal'];
}
}
// Discount percentage amount on non "on sale" items subtotal
$discount = $subtotal * $percentage / 100;
// For new customer only that haven't purchase yet
if( $subtotal > 0 && $orders_count === 0 ) {
$cart->add_fee( sprintf( __("Discount (%s)", "woocommerce"), $percentage . '%'), -$discount, true );
}
}
}
代码位于事件子主题(或事件主题)的 functions.php 文件中。测试和工作。
关于php - 对 WooCommerce 中的非 "on sale"项目应用欢迎折扣,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65097517/
我在 class sale_order_line 中定义了 product_id 如下: class sale_order_line(osv.osv): _inherit = 'sale.or
我正在使用以下代码打印报告: JasperPrint jasperPrint = null; try { JasperCompileManager.compileRep
我有一张表格显示不同日期各种产品的销售额。格式就像 Date | Product | Sales -----------+---------+------------- 01/01/201
在 Verifone vx520 中,我遇到了篡改错误。我怎么能解决这个错误?有什么办法可以解决这个错误( TAMPER ERROR )?我无法对这个错误做任何事情,它只是显示在显示屏上。 最佳答案
我想在图像前显示一个“SALE”标签,我尝试使用“before”伪元素来做到这一点,但屏幕上似乎没有显示任何内容。 我正在尝试在黑色背景的圆圈内创建“SALE”标签。 下面是我用过的代码 .
我正在使用 Express Checkout flow与 advanced server integration . 因此,一旦用户单击“结账”按钮,我就会实时预订商品,并等待成功\失败响应。用户可以
注意:这是对 SWF 文件中有关排序记录的现实问题的抽象改写。解决方案将帮助我改进开源应用程序。 Bob 有一家商店,他想打折。他的商店有许多产品,并且他有一定数量的每种产品的库存。他还有一些货架上的
我刚买了一个二手的 Verifone VX680。该终端用于为电影院或类似的东西运行自定义应用程序。他们删除了软件并清理了终端。 我需要为交付管理系统开发一个应用程序,还不是很严重。 经过一段时间的研
我想更改 Verifone vx520 内部打印机字体。我用 C 语言编写了我的程序,并使用字体设计器工具来创建打印机字体。我用过m命令下载字体表,但我仍然无法更改打印机的字体。我该怎么做? 最佳答案
有什么方法可以从 App Store 中取消发布/取消销售我的 iPhone 应用程序吗? 我似乎找不到 itunesconnect.com 上的选项 最佳答案 忠告:关于这一点,请仔细阅读 iTun
我需要创建一个数据库解决方案来提供产品折扣。 当前表: Products Columns: ProductId, ProductTypeId, ReleaseDate ProductPrices Co
您好,我有一个如下所示的数据库: http://up414.siz.co.il/up1/tzjdwwoio5jm.png 现在我收到这样的错误,即使与销售相关: You cannot add or c
同店销售概念,即您检查今天商店的表现与昨天同一商店的表现,以显示收入是增长还是减少。所以我有一个包含 5+ 数百万 记录的表,其结构如下 store_id , stats_date, trans_cn
我有一些关于在应用商店提交应用的说明 我在应用商店提交了平台版本 3.0 和构建版本 1.0.1 的应用以供审核 在提交应用以供审核时,我选中了“手动发布此版本”选项。 现在我的应用已在应用商店获得批
我需要开发一个库存和销售系统。 对于库存,我需要能够跟踪理想的库存水平、当前的库存水平、再订货点、成本、售价等。 并非库存中的每件商品都是“可销售的”。例如,我可能想要保存用于苏打水的塑料杯的库存。意
我遇到了一个问题。我已经将一个应用程序上传到应用程序商店,并且我也提交了应用内购买以供审核。但由于某种原因,我已从审查中删除并提交新版本以供审查。不过这次忘记了inapppurchase重新设置rev
我在 SO 中阅读了以下线程,Keeping testing and production server environments clean, in sync, and consistent ,我仍
这个问题在这里已经有了答案: Application is "Ready to Sale" but not reflected on iTunes Store [closed] (3 个答案) 关闭
如何更改sale.order.line不同树的默认排序 例如:按名字排序 sale.order.line.tree1 sale.order.line tree
我目前正在研究一项提案并寻找解决方案的可行性。 我们试图实现的功能是当酒店人员在酒店预订屏幕上单击自定义配置文件按钮时,以弹出窗口(或 Iframe)的格式显示客户配置文件。 我在这里考虑使用 Mic
我是一名优秀的程序员,十分优秀!