使用木材获取 Woocommerce 产品价格

问题描述

如何在非木材 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() }}

的 Twig 模板中