Получение цены продукта Woocommerce с помощью Timber

#woocommerce #timber

#woocommerce #древесина

Вопрос:

Как мне получить цену продукта Woocommerce, которую я бы получил, используя <?php echo $product->get_price_html(); ?> шаблон WordPress, не связанный с лесоматериалами?

Я пытался {{ product.price }} , но это вызывает ошибку, которая гласит:

 price was called incorrectly. Product properties should not be accessed directly.
 

Я знаю, что могу получить его с помощью шаблона Woocommerce {% do action('woocommerce_single_product_summary') %} , но:

  • Мне нужен необработанный неформатированный текст, а не содержимое шаблона Woocommerce.
  • действие Woocommerce также получает кучу других вещей, которые мне не нужны.

Итак, как мне получить к нему правильный доступ?

Ответ №1:

В итоге я добавил в 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;
}
 

его можно использовать в любом шаблоне Twig с {{ myprice() }}