WooCommerce 在产品页面上显示节省的金额
Posted
技术标签:
【中文标题】WooCommerce 在产品页面上显示节省的金额【英文标题】:WooCommerce display saved amount on product page 【发布时间】:2021-06-24 01:24:57 【问题描述】:我想在“促销”和“常规”价格下方显示每种产品的总节省额,如下图所示:https://ibb.co/T8BxH9z。已计算节省的金额并且可见,但由于某种原因,我的货币不可见。所以,我想像这个例子一样显示它:“Ušteda: 2291,87 kn”,现在只显示金额。网站链接:https://shop.mirakul.com.hr/.
这是我正在使用的代码。任何想法为什么缺少货币?
function usteda_popust()
global $product;
if( $product->is_type('simple') || $product->is_type('external') || $product->is_type('grouped') )
$regular_price = get_post_meta( $product->get_id(), '_regular_price', true );
$sale_price = get_post_meta( $product->get_id(), '_sale_price', true );
if( !empty($sale_price) )
$amount_saved = $regular_price - $sale_price;
$currency_symbol = get_woocommerce_currency_symbol();
?>
<p style="font-size:18px;color:red;">Ušteda: <?php echo number_format($amount_saved,2, ',', '') ?></p>
<?php
add_action( 'woocommerce_single_product_summary', 'usteda_popust', 11 );
提前致谢!
【问题讨论】:
【参考方案1】:你看不到货币只是因为你得到它但你没有打印它。
您也可以使用wc_price()
函数根据您的商店设置打印格式化的价格(含货币)。
你可以像这样优化你的代码:
add_action( 'woocommerce_single_product_summary', 'usteda_popust', 11 );
function usteda_popust()
global $product;
if ( $product->is_type('simple') || $product->is_type('external') || $product->is_type('grouped') )
if ( $product->get_sale_price() )
$amount_saved = $product->get_regular_price() - $product->get_sale_price();
?>
<p style="font-size:18px;color:red;">Ušteda: <?php echo wc_price( $amount_saved ) ?></p>
<?php
代码已经过测试并且可以运行。将其添加到活动主题的 functions.php 中。
结果如下:
【讨论】:
以上是关于WooCommerce 在产品页面上显示节省的金额的主要内容,如果未能解决你的问题,请参考以下文章
php [在存档页面上显示产品尺寸]在存档页面上显示WooCommerce 3.0+产品尺寸,位于产品标题下方。