为 WooCommerce 单个产品页面设置第二个价格标签
Setting a second price label for WooCommerce single product pages
在 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
值。
我做错了什么?
谢谢。
当您试图通过计算来操纵价格值时,您应该使用 get_price()
instead of 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 );
感谢您的回答!
好吧,还是不行,因为我的价格是可变的。如果我使用
$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?
在 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
值。
我做错了什么?
谢谢。
当您试图通过计算来操纵价格值时,您应该使用 get_price()
instead of 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 );
感谢您的回答!
好吧,还是不行,因为我的价格是可变的。如果我使用 $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?