我有一个 woocommerce 商店,有 3 个用户角色,我想仅为用户角色公司"提供购物车总额 10% 的折扣.
I have a woocommerce store, with 3 user roles, I want to provide a 10% discount on the cart total only for a user role 'company'.
我发现"Woocommerce 中基于用户角色和付款方式的百分比折扣" 答案非常符合我的需要,但不知道如何修改代码以满足我的需要,因为它还包含基于付款方式的条件并仅在结帐时显示折扣,但我也需要将其显示在购物车中.
I found "Percentage discount based on user role and payment method in Woocommerce" answer that is very neer of what I need, but don't know how to modify the code to feet my needs, as it contains also a condition based on payment method and displaying the discount only at checkout, but I need it to display in cart as well.
以下代码将对公司"用户角色(在购物车和结帐时)应用 10% 的折扣:
The following code will apply a 10% discount for 'company' user role (on cart and checkout):
// Applying conditionally a discount for a specific user role
add_action( 'woocommerce_cart_calculate_fees', 'discount_based_on_user_role', 20, 1 );
function discount_based_on_user_role( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return; // Exit
// Only for 'company' user role
if ( ! current_user_can('company') )
return; // Exit
// HERE define the percentage discount
$percentage = 10;
$discount = $cart->get_subtotal() * $percentage / 100; // Calculation
// Applying discount
$cart->add_fee( sprintf( __("Discount (%s)", "woocommerce"), $percentage . '%'), -$discount, true );
}
代码位于活动子主题(或活动主题)的 functions.php 文件中.它应该有效.
Code goes on functions.php file of your active child theme (or active theme). It should works.
这篇关于为 Woocommerce 中的特定用户角色应用折扣的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
不能使用 'Object 作为类名,因为它是保留的Cannot use #39;Object as class name as it is reserved Cake 2.2.x(不能使用 Object 作为类名,因为它是保留的 Cake 2.2.x)
OAuth 重定向后会话丢失Session is lost after an OAuth redirect(OAuth 重定向后会话丢失)
Cakephp 3.x 中的分页排序Pagination Sort in Cakephp 3.x(Cakephp 3.x 中的分页排序)
CakePHP 多个应用程序的共享核心CakePHP Shared core for multiple apps(CakePHP 多个应用程序的共享核心)
在 CakePHP 3 上登录 [ Auth->identify() ] 始终为 falLogin [ Auth-gt;identify() ] always false on CakePHP 3(在 CakePHP 3 上登录 [ Auth-identify() ] 始终为 false)
致命错误:允许的内存大小为 134217728 字节已用尽Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 87 bytes)(致命错误:允许的内存大小为 134217728 字节已用尽