【问题标题】:Change currency symbol based on product category in Woocommerce根据 Woocommerce 中的产品类别更改货币符号
【发布时间】:2018-01-24 10:48:38
【问题描述】:

我正在尝试根据产品类别更改默认 Woocommerce 货币符号。

我的默认 WC 货币设置为美元,并且我的所有产品在价格前都带有 '$' 前缀。但是,我想仅针对'clearance' 类别中的产品显示'$$$',而不是'$'

这是我的代码:

add_filter('woocommerce_currency_symbol', 'change_existing_currency_symbol', 10, 2);

function change_existing_currency_symbol( $currency_symbol, $currency ) {

    global $post, $product, $woocommerce;

    if ( has_term( 'clearance', 'product_cat' ) ) {

        switch( $currency ) {
             case 'USD': $currency_symbol = '$$$'; break;
        }
        return $currency_symbol;
    }       
}

它有效,并且“$$$”仅针对“清仓”类别中的产品显示,但它会从其余类别中的所有产品中删除“$”。

如果条件不满足,我需要 if 语句不执行任何操作。

我也尝试过像这样使用endif 结束标记:

add_filter('woocommerce_currency_symbol', 'change_existing_currency_symbol', 10, 2);

function change_existing_currency_symbol( $currency_symbol, $currency ) {

    global $post, $product, $woocommerce;

    if ( has_term( 'clearance', 'product_cat' ) ) :

        switch( $currency ) {
             case 'USD': $currency_symbol = '$$$'; break;
        }
        return $currency_symbol;

    endif;      
}

但这里也一样。它为“清仓”类别中的所有产品显示'$$$',但删除任何其他产品的'$'

我做错了什么?

【问题讨论】:

    标签: php wordpress if-statement woocommerce currency


    【解决方案1】:

    相关:Custom cart item currency symbol based on product category in Woocommerce 3.3+

    您需要将return $currency_symbol; 放在if 语句之外:

    add_filter('woocommerce_currency_symbol', 'change_existing_currency_symbol', 10, 2);
    function change_existing_currency_symbol( $currency_symbol, $currency ) {
        global $post, $product;
    
        if ( has_term( 'clearance', 'product_cat' ) ) {
            switch( $currency ) {
                 case 'USD': $currency_symbol = '$$$'; 
                 break;
            }
        }
        return $currency_symbol; // <== HERE
    }
    

    代码进入您的活动子主题(或活动主题)的 function.php 文件中。

    现在应该可以了。

    【讨论】:

      【解决方案2】:

      为当前主题创建子主题可能是解决方案,但我认为如果您只想更改符号,则不必做太多。

      只需转到 woocommerce 后端文件..

      wp-content/plugins/woocommerce/includes/wc-core-functions.php

      如果您的 Wordpress 主题中没有后端文件多余下载文件管理器,您将在主站点中看到这些文件夹。

      wp-content&gt;&gt;plugins&gt;&gt;woocommerce&gt;&gt;includes&gt;&gt;wc-core-functions.php

      wc-core-function.php 文件中你会看到符号

      enter image description here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-04
        • 1970-01-01
        • 1970-01-01
        • 2017-06-13
        • 2016-12-13
        相关资源
        最近更新 更多