首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改WooCommerce货币符号中的问题

更改WooCommerce货币符号中的问题
EN

Stack Overflow用户
提问于 2018-03-13 12:44:23
回答 1查看 1K关注 0票数 0

我编写了一个代码,根据“结帐”页面中的国家选择来更改WooCommerce货币符号。以下是代码:

代码语言:javascript
复制
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();时,管理面板将打开,但符号没有出现。寻求你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-13 13:07:25

使用条件检查,以便它只运行签出页上的代码。

代码语言:javascript
复制
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;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49256562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档