我试图添加一个动作,将每个单位的价格添加到我的woocommerce商店的产品中。我已将以下代码添加到functions.php
中add_action( 'woocommerce_after_shop_loop_item_title', 'add_price_per_unit', 23);
function add_price_per_unit(){
?>
<span class="pricePerGramArchive">
<?php
if (get_field('display_price_per_unit')) {
$price = $product->get_price();
$unit = get_field('unit');
$unit_value = get_field('unit_value');
$price_per_unit = $price / $unit_value;
$price_per_unit_round = round($price_per_unit, 2);
$currency_symbol = get_woocommerce_currency_symbol();
echo $unit_value.$unit." (".$price_per_unit_round." ".$currency_symbol."/".$unit.")";
} ?>
</span>
<?php
return $unit_value.$unit." (".$price_per_unit_round." ".$currency_symbol."/".$unit.")";
}
在前端,我可以看到跨度&#34; pricePerGramArchive&#34;出现,但它是空的,我的产品的格式搞砸了 - 产品显示全宽,只有一个,而不是11个产品。
我做错了什么?
答案 0 :(得分:0)
您确定$product
不是空的吗?如果没有试试这个:
if (get_field('display_price_per_unit', $product->get_id())) {
// Change price here..
}