Twig/Timber 操作员在 WordPress 中不适合我

Twig/Timber operator is not working for me in WordPress

我已将 productpricesalestax 设置为变量,但在让此运算符正常工作 {{ productprice * 0.salestax }} 以与 twig/timber 一起工作时遇到了一个真正的问题WordPress 它根本不计算任何东西?

然而,这工作正常,完全没有问题 {{ productprice * 0.06 }} 并转储 {{ dump(salestax) }} = string '06' (length=2)

感谢任何帮助!

正如您的转储显示 salestax return string - 它 不可 可数 - 无法应用数学。它也不能以这种方式连接 - twig 使用 ~ 进行连接。

为了工作,您首先需要做的是将字符串值转换为整数。您可以在 PHP 边和树枝模板

上进行

PHP: 我个人推荐这种方式,因为您的逻辑将应用于应用程序的后端部分。

// *.php

// Get Timber context
$ctx = Timber::context();

$productPrice = 1000; // it is integer
$salesTax = '06'; // it is a string as you would get it now (from post meta or whatever)

// set new variable
$salesPrice = $productPrice * ( 1 - (int) $salesTax / 100 ); // (int) string will return integer - so math is works

//pass it to context
$ctx['salesprice'] = $salesPrice;

// Render twig
Timber::render( 'view.twig', $ctx );

现在您可以在您的 twig 文件中访问它(在我的示例中它应该 return 940)

{{ salesprice }} 

树枝: 但是如果你想处理树枝中的逻辑,你可以使用 number_format filter

转换字符串
{{ productprice * ( 1 - salestax|number_format / 100 ) }}