在价格html中添加后缀不起作用

时间:2018-09-12 作者:Robbert

我试图通过过滤器挂钩在Wooommerce中为产品价格添加后缀,但由于一些奇怪的原因woocommerce_get_price_html 过滤器挂钩(如所述here) 不会改变任何价格。

不添加后缀的障碍是什么?还是我需要用另一个钩子?

My filter hook:

function pr_price_suffix( $price, $product ) {
   return $price . \' test\';
}
add_filter( \'woocommerce_get_price_html\', \'pr_price_suffix\' );

The code that prints the price in single-product.php:

<?php echo wc_price( wc_get_price_including_tax( $product ) ); ?>

1 个回复
最合适的回答,由SO网友:Andrea Somovigo 整理而成

我认为过滤器在模板中不起作用,因为您正在使用wc_price( wc_get_price_including_tax( $product ) ) .. 可能的解决方法:

function pr_price_suffix( $price, $product ) {
 return wc_price( wc_get_price_including_tax( $product ) ). \' test\';
}
add_filter( \'woocommerce_get_price_html\', \'pr_price_suffix\', 10, 2  );
在您的单一产品中。php模板:

 <?php echo $product->get_price_html(); ?>

结束

相关推荐

Testing hooks callback

我正在开发一个使用TDD的插件,有一件事我完全没有测试出来,那就是。。。挂钩。我的意思是好的,我可以测试钩子回调,但我如何测试钩子是否真的触发了(自定义钩子和WordPress默认钩子)?我认为一些嘲弄会有所帮助,但我就是想不出我错过了什么。我用WP-CLI安装了测试套件。根据this answer, init 钩子应该触发,但。。。事实并非如此;此外,该代码在WordPress内部工作。根据我的理解,引导程序是最后加载的,所以不触发init是有意义的,所以剩下的问题是:如果触发了挂钩,我该如何测试?谢谢