问题描述
如何在非木材 wordpress 模板中使用 <?PHP echo $product->get_price_html(); ?>
获得 Woocommerce 产品价格?
我尝试了 {{ product.price }}
但它触发了一个错误,内容为:
price was called incorrectly. Product properties should not be accessed directly.
我知道我可以使用 {% do action('woocommerce_single_product_summary') %}
通过 Woocommerce 模板获得它,但是:
- 我想要未格式化的原始文本,而不是 Woocommerce 模板的内容。
- Woocommerce 操作还获得了许多我不需要的其他东西。
那么,我该如何正确访问它?
解决方法
我最终向 Timber 添加了一个返回原始价格值的自定义函数。这在 functions.php
文件中:
public function add_to_twig( $twig ) {
$function = new Twig_Function('myprice',function () {
global $product;
$myprice = $product->get_price();
return $myprice;
});
$twig->addFunction($function);
return $twig;
}
它可以用在任何带有 {{ myprice() }}