我想在“销售”和“常规”价格下显示每个产品的总储蓄,就像下面的图片一样: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 );
提前感谢!
你看不到货币只是因为你得到了它,但你没有打印它。
您还可以使用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
}
}
}
该代码已经过测试,可以正常工作。将其添加到活动主题的功能中。php。
以下是结果: