我编写了一个代码,根据“结帐”页面中的国家选择来更改WooCommerce货币符号。以下是代码:
add_filter('woocommerce_currency_symbol', 'change_existing_currency_symbol', 10, 2);
function change_existing_currency_symbol( $currency_symbol, $currency ) {
global $post, $woocommerce;
$my_country = WC()->customer->get_shipping_country();
/*echo $my_country;
echo "<br>";
echo $country;*/
switch( $my_country ) {
case 'GB': $currency_symbol = '£';
break;
case 'NZ': $currency_symbol = '$';
break;
case 'IE': $currency_symbol = '€';
break;
default:
$currency_symbol = '$';
}
return $currency_symbol;
}代码运行良好,当从“结帐”页面中选择“国家”时,符号显示得很好。但是,我们看到我们不能访问管理部分,因为它说:
此页面无法运行,www.XXXXXX-XX.com目前无法处理此请求。HTTP错误500
当我删除代码:$my_country = WC()->customer->get_shipping_country();时,管理面板将打开,但符号没有出现。寻求你的帮助。
发布于 2018-03-13 13:07:25
使用条件检查,以便它只运行签出页上的代码。
add_filter('woocommerce_currency_symbol', 'change_existing_currency_symbol', 10, 2);
function change_existing_currency_symbol( $currency_symbol, $currency ) {
if ( is_checkout() ) {
$my_country = WC()->customer->get_shipping_country();
switch( $my_country ) {
case 'GB':
$currency_symbol = '£';
break;
case 'NZ':
$currency_symbol = '$';
break;
case 'IE':
$currency_symbol = '€';
break;
default:
$currency_symbol = '$';
}
}
return $currency_symbol;
}https://stackoverflow.com/questions/49256562
复制相似问题