在woocommerce中为钩子添加动作

时间:2017-08-03 07:45:09

标签: php wordpress woocommerce hook

我试图添加一个动作,将每个单位的价格添加到我的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个产品。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您确定$product不是空的吗?如果没有试试这个:

if (get_field('display_price_per_unit', $product->get_id())) {
   // Change price here..
}