我需要根据WordPress中的用户角色更改WooCommerce中的默认货币。
对于名为“客户”的用户角色,默认价格必须为SEK,而其他所有价格都必须为DKK
我尝试了许多不同的解决方案,但似乎找不到有效的解决方案。
global $current_user;
if (in_array('customer', $current_user->roles)) {
Don't know what to put here.. :D
}
现在我无法前进,似乎无法在Google或StackOverflow上找到任何能帮助我解决问题的东西。
我找不到可以以编程方式更改默认货币的功能
答案 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';
}
}