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

问题描述

因此,如果我想在 Timber/Twig {% set prods_avail = post.product_items.stock_status == 'In Stock' | count %}获取“有货”(与我的产品帖子相关)的产品数量,我想遍历显示 =“的产品数量In Stock”,然后使用 {{ prods_avail }}

显示数量

我正在使用 ACF 元字段,并且必须通过 product_items 的 Product post 字段进入相关的 post 字段,然后从选择下拉列表中查看字段 stock_status 的计算结果是否为 'In Stock'

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

同样,这些是附加到(或相关)到主要帖子的 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,这是“有货”的总产品

~感谢您的帮助!

解决方法

您可以使用过滤器 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