从 YITH 发票插件中的订单获取 Woocommerce 货币符号
Get Woocommerce currency symbol from order in YITH invoice plugin
我们的 WooCommerce 网站有 2 种货币。主要货币是印度卢比,次要货币是美元(使用货币切换器)。我尝试以美元下订单,但 YITH 发票显示发票中的主要印度卢比符号。
我已尝试更改为各种可用的货币切换器插件,但发票中的符号不会更改,它只是采用默认货币符号。
我什至尝试将 'get_woocommerce_currency_symbol()' 添加到 YITH 函数的货币 arg 数组。我需要帮助。使用的插件是YITH Invoice ver: 1.3.11.
function yith_get_formatted_price ( $price, $args = array () ) {
extract ( apply_filters ( 'wc_price_args', wp_parse_args ( $args, array (
'ex_tax_label' => false,
'currency' => get_woocommerce_currency_symbol (),
'decimal_separator' => wc_get_price_decimal_separator (),
'thousand_separator' => wc_get_price_thousand_separator (),
'decimals' => wc_get_price_decimals (),
'price_format' => get_woocommerce_price_format (),
) ) ) );
$negative = $price < 0;
$price = apply_filters ( 'raw_woocommerce_price', floatval ( $negative ? $price * - 1 : $price ) );
$price = apply_filters ( 'formatted_woocommerce_price', number_format ( $price, $decimals, $decimal_separator, $thousand_separator ), $price, $decimals, $decimal_separator, $thousand_separator );
if ( apply_filters ( 'woocommerce_price_trim_zeros', false ) && $decimals > 0 ) {
$price = wc_trim_zeros ( $price );
}
$formatted_price = ( $negative ? '-' : '' ) . sprintf ( $price_format, get_woocommerce_currency_symbol ( $currency ), $price );
$return = $formatted_price;
return apply_filters ( 'wc_price', $return, $price, $args );
}
获取订单货币符号(或代码)的唯一方法是首先获取WC_Order
对象,然后您可以从 global $order;
对象或从 $order_id
中获取它:
$order = wc_get_order( $order_id );
现在你可以使用WC_Abstract_Order
方法get_currency()
获取货币代码,最后您将以这种方式获得货币符号:
$currency_code = $order->get_currency();
$currency_symbol = get_woocommerce_currency_symbol( $currency_code );
这已经过测试并适用于 WooCommerce 3+
我们的 WooCommerce 网站有 2 种货币。主要货币是印度卢比,次要货币是美元(使用货币切换器)。我尝试以美元下订单,但 YITH 发票显示发票中的主要印度卢比符号。
我已尝试更改为各种可用的货币切换器插件,但发票中的符号不会更改,它只是采用默认货币符号。
我什至尝试将 'get_woocommerce_currency_symbol()' 添加到 YITH 函数的货币 arg 数组。我需要帮助。使用的插件是YITH Invoice ver: 1.3.11.
function yith_get_formatted_price ( $price, $args = array () ) {
extract ( apply_filters ( 'wc_price_args', wp_parse_args ( $args, array (
'ex_tax_label' => false,
'currency' => get_woocommerce_currency_symbol (),
'decimal_separator' => wc_get_price_decimal_separator (),
'thousand_separator' => wc_get_price_thousand_separator (),
'decimals' => wc_get_price_decimals (),
'price_format' => get_woocommerce_price_format (),
) ) ) );
$negative = $price < 0;
$price = apply_filters ( 'raw_woocommerce_price', floatval ( $negative ? $price * - 1 : $price ) );
$price = apply_filters ( 'formatted_woocommerce_price', number_format ( $price, $decimals, $decimal_separator, $thousand_separator ), $price, $decimals, $decimal_separator, $thousand_separator );
if ( apply_filters ( 'woocommerce_price_trim_zeros', false ) && $decimals > 0 ) {
$price = wc_trim_zeros ( $price );
}
$formatted_price = ( $negative ? '-' : '' ) . sprintf ( $price_format, get_woocommerce_currency_symbol ( $currency ), $price );
$return = $formatted_price;
return apply_filters ( 'wc_price', $return, $price, $args );
}
获取订单货币符号(或代码)的唯一方法是首先获取WC_Order
对象,然后您可以从 global $order;
对象或从 $order_id
中获取它:
$order = wc_get_order( $order_id );
现在你可以使用WC_Abstract_Order
方法get_currency()
获取货币代码,最后您将以这种方式获得货币符号:
$currency_code = $order->get_currency();
$currency_symbol = get_woocommerce_currency_symbol( $currency_code );
这已经过测试并适用于 WooCommerce 3+