更改 WooCommerce 货币符号的问题

Issue in Changing WooCommerce Currency Symbol

我编写了一个代码来根据结帐页面中的国家 selection 更改 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;
}

代码运行良好,当结帐页面的国家/地区为 select 时,符号显示良好。但是,我们看到我们无法访问管理部分,因为它说:

这个页面打不开 www.XXXXXX-XX.com 目前无法处理此请求。 HTTP 错误 500

当我删除代码:$my_country = WC()->customer->get_shipping_country(); 时,管理面板打开但符号没有出现。 寻求您的帮助。

使用条件检查,使其只运行结帐页面上的代码。

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;
}