根据用户角色更改WooCommerce默认货币

时间:2019-08-13 10:58:56

标签: php wordpress woocommerce

我需要根据WordPress中的用户角色更改WooCommerce中的默认货币。

对于名为“客户”的用户角色,默认价格必须为SEK,而其他所有价格都必须为DKK

我尝试了许多不同的解决方案,但似乎找不到有效的解决方案。

global $current_user;
 if (in_array('customer', $current_user->roles)) {

Don't know what to put here.. :D

 }

现在我无法前进,似乎无法在Google或StackOverflow上找到任何能帮助我解决问题的东西。

我找不到可以以编程方式更改默认货币的功能

2 个答案:

答案 0 :(得分:0)

您可以使用woocommerce_currency过滤器

add_filter('woocommerce_currency', 'set_role_currency', 200);
function set_role_currency($currency){
 global $current_user;
 if (in_array('customer', $current_user->roles)) { return 'SEK'; }
return $currency; //this will return your woocommerce default currency
}

答案 1 :(得分:0)

嗨,请检查以下代码。

add_filter('woocommerce_currency','ji_woocommerce_currency',10);
function ji_woocommerce_currency( $currency ){     
$user_info = get_userdata(get_current_user_id());
if ( $user_info->roles[0]=="administrator" ) { 
    return 'USD'; 
} elseif ( $user_info->roles[0]=="subscriber" ) { 
    return 'GBP'; 
} else {
    return 'EUR';
} 

}