2016-08-20 2 views
3

В WooCommerce У меня есть один продукт с одной отображаемой ценой. Я хочу добавить еще один ценовой тег, который должен показывать первоначальную цену, деленную на число.Установка второй метки цен для страниц с одним продуктом WooCommerce

прямо сейчас я работаю в файле cart.php, который находится в моих темах папку, и это мой код:

<p class="price"><?php echo $product->get_price_html(); ?>/Flasche <br> </p> 
<p class="preisproliter"><?php 
$flaschenpreis = $product->get_price_html(); 
$literpreis = 0.75; 
$division = $flaschenpreis/$literpreis; 
echo $division; 
?></p> 

Первая строка отображается правильно, но для второго отображает только 0 значение.

Что я делаю неправильно?

Спасибо.

+0

Извините, я имею в виду
Onur

ответ

2

Как вы пытаетесь манипулировать ценовым значением с помощью вычислений, вы должны использовать get_price() вместо метода get_price_html().

Ваш код:

<p class="price"><?php echo $product->get_price_html(); ?>/Flasche <br> </p> 
<p class="preisproliter"><?php 
$flaschenpreis = $product->get_price(); // <= HERE 
$literpreis = 0.75; 
$division = $flaschenpreis/$literpreis; 
echo $division; 
?></p> 

После того, как ваши расчеты сделаны и работают, вы можете использовать необязательно 'woocommerce_price_html' фильтра крюк форматировать $division значение,(как get_price_html() НОО).

Чтобы опционально отображать $division ОТФОРМАТИРОВАН значение HTML вы можете использовать в своем коде:

echo apply_filters('woocommerce_price_html', $division, $this); 
0

Спасибо за ответ!

Ну, это все еще не сработало, потому что у меня переменные цены. Если я использую $ product-> get_price() вместо $ product-> get_price_html(), я получаю $ division = $ flaschenpreis * 6/$ litpreis; в результате.

Я думаю, причина в том, что мой первый вариант продукта цена * 6. Так

<p class="price"><?php echo $product->get_price_html(); ?>/Flasche <br> </p> 
<p class="preisproliter"><?php 
$flaschenpreis = $product->get_price(); // <= HERE 
$literpreis = 0.75; 
$division = $flaschenpreis/$literpreis/6; 
echo $division; 
?></p> 

приводит меня к правильной цене. Это еще нужно отформатировать (округлить до двух десятичных позиций).

В любом случае, я считаю, что это грязное решение. Есть ли чистый метод? И почему нельзя использовать get_price_html во второй раз?

Смежные вопросы