Установка второго ценника для страниц одного продукта WooCommerce

php wordpress woocommerce product price

666 просмотра

2 ответа

В 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значение.

Что я делаю не так?

Благодарю.

Автор: Onur Источник Размещён: 08.11.2019 11:28

Ответы (2)


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 ); 
Автор: LoicTheAztec Размещён: 20.08.2016 09:03

0 плюса

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

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

Я думаю, причина в том, что мой первый вариант продукта - цена * 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 во второй раз?

Автор: Onur Размещён: 22.08.2016 09:21
Вопросы из категории :
32x32