如何设置 Twig |来自 WordPress 中 ACF 相关字段的项目数组中具有特定状态的长度变量?

How do I set a Twig | length variable with a certain status from an array of items from a ACF related field in WordPress?

因此,如果我想在 Timber/Twig {% set prods_avail = post.product_items.stock_status == 'In Stock' | count %} 中获取产品 'In Stock'(与我的产品 post 相关)的数量,我想循环通过显示 = "In Stock" 的产品数量,然后使用 {{ prods_avail }}

显示数量

我正在使用 ACF 元字段并且必须通过 product_items 的 Product post 字段进入相关的 post 字段并查看字段 stock_status 是否计算为 'In Stock' 来自 select 下拉列表。

例如,{% set prods_count = post.product_items | count %} 并使用 {{ prods_count }} 获取数组中的产品数量(在此示例中为 5

同样,这些是附加(或相关)到主 Post 的 product_items 字段的产品:

product_item1 = 'In Stock'
product_item2 = 'In Stock'
product_item3 = 'No Stock'
product_item4 = 'No Stock'
product_item5 = 'In Stock'

我希望我的变量输出 {{ prods_avail }} 的值为 3,即总产品 'In Stock'

~感谢您的帮助!

您可以使用过滤器减少集合filter

{% set prods_avail = post.product_items|filter(v => v.stock_status == 'In Stock')|length %}

过滤器 filter 已添加到 twig v. 2.10 中。所以如果这不可用(在木材中),你需要循环所有项目并创建一个计数器

{% set prods_avail = 0 %}
{% for product_item in post.product_items %}
    {% if product_item.stock_status == 'In Stock' %}
        {% set prods_avail = prods_avail + 1 %}
    {% endif %}
{% endfor %}

demo