我最近正在为我的客户端使用WooCommerce WordPress项目,我正在为WooCommerce WordPress编辑插件。我试图显示产品价格以包含货币代码使用此功能
* @param mixed $item
* @param bool $inc_tax (default: false).
* @param bool $round (default: true).
* @return float
*/
public function get_item_total( $item, $inc_tax = false, $round = true ) {
$qty = ( ! empty( $item['qty'] ) ) ? $item['qty'] : 1;
if ( $inc_tax ) {
$price = ( $item['line_total'] + $item['line_tax'] ) / max( 1, $qty );
} else {
$price = $item['line_total'] / max( 1, $qty );
}
$price = '<span class="price">' . $round ? round( $price, wc_get_price_decimals() ) . '</span>' : '<span class="price">' . $price . '</span>' ;
return apply_filters( 'woocommerce_order_amount_item_total', $price, $this, $item, $inc_tax, $round );
}
但它没有用货币符号吐出55这样的数字。无论如何得到货币符号的数字,如$ 55?
感谢您的帮助
答案 0 :(得分:0)
ty rgdesign
这是现在可以解决的问题
public function get_item_total( $item, $inc_tax = false, $round = true ) {
$qty = ( ! empty( $item['qty'] ) ) ? $item['qty'] : 1;
if ( $inc_tax ) {
$price = ( $item['line_total'] + $item['line_tax'] ) / max( 1, $qty );
} else {
$price = $item['line_total'] / max( 1, $qty );
}
$currency_symbol = get_woocommerce_currency_symbol();
$price = $round ? round($price, wc_get_price_decimals() ): $price;
$price = '<span class="price">' .$currency_symbol . $price .'</span>';
return apply_filters( 'woocommerce_order_amount_item_total',$price, $this, $item, $inc_tax, $round );
}
答案 1 :(得分:0)
我觉得这很容易。只需将以下代码块插入主题文件夹下的 functions.php 文件即可。
//Change the symbol of an existing currency
add_filter('woocommerce_currency_symbol', 'change_existing_currency_symbol', 10, 2);
switch( $currency ) {
case 'USD': $currency_symbol = 'USD$'; break;
}
return $currency_symbol;
}