2017-01-27 7 views
0

Я недавно работал с проектом WooCommerce WordPress для моего клиента, и я редактирую плагин для WooCommerce WordPress. Я пытаюсь показать цену продукта, чтобы включать в себя использование код валюты этой функцииWooCommerce Currency Symbol

* @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?

Спасибо за вашу помощь

+1

Вы пытались подготовить валюту, используя «get_woocommerce_currency()»? потому что в вашем коде нечего повторять. Например: $ price = ''. get_woocommerce_currency() ......... – rgdesign

ответ

0

ти 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

Я нашел, что это очень легко. Просто вставьте следующий блок кода в 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&#36;'; break; 
} 
    return $currency_symbol; 
}