木材 + ACF - 如何让 get_row_index() 工作?
Timber + ACF - How to get get_row_index() working?
问题: 我需要从灵活内容字段中获取当前布局索引。 ACF 已经为此内置了功能 - https://www.advancedcustomfields.com/resources/get_row_index/
木材模板:
{% extends "base.twig" %}
{% block content %}
{% for flex_content in post.meta('flex_components') %}
{{ get_row_index() }} <!-- I'm stuck here -->
{% include [flex_content.acf_fc_layout|sanitize ~ '.twig'] ignore missing %}
{% endfor %}
{% endblock %}
我目前的解决方案:正在使用一个简单的计数器,但我想学习如何使用 get_row_index() 函数(如果可能的话) .
{% extends "base.twig" %}
{% block content %}
{% set my_counter = 1 %}
{% for flex_content in post.meta('flex_components') %}
{% include [flex_content.acf_fc_layout|sanitize ~ '.twig'] ignore missing %}
{% set my_counter = my_counter + 1 %}
{% endfor %}
{% endblock %}
不幸的是,您不能在使用 Timber 时使用 get_row_index()
,因为该功能依赖于 ACF 在使用 have_rows()
时设置的全局变量,我们在 Timber 中没有。这类似于 Timber 试图摆脱的 WordPress 循环。
在 Twig 中,您始终可以使用
loop variable 在 for
循环中。此变量为您提供所需的计数器。
{% extends "base.twig" %}
{% block content %}
{{ dump(loop.index) }}
{% for flex_content in post.meta('flex_components') %}
{% include [flex_content.acf_fc_layout|sanitize ~ '.twig'] ignore missing %}
{% endfor %}
{% endblock %}
问题: 我需要从灵活内容字段中获取当前布局索引。 ACF 已经为此内置了功能 - https://www.advancedcustomfields.com/resources/get_row_index/
木材模板:
{% extends "base.twig" %}
{% block content %}
{% for flex_content in post.meta('flex_components') %}
{{ get_row_index() }} <!-- I'm stuck here -->
{% include [flex_content.acf_fc_layout|sanitize ~ '.twig'] ignore missing %}
{% endfor %}
{% endblock %}
我目前的解决方案:正在使用一个简单的计数器,但我想学习如何使用 get_row_index() 函数(如果可能的话) .
{% extends "base.twig" %}
{% block content %}
{% set my_counter = 1 %}
{% for flex_content in post.meta('flex_components') %}
{% include [flex_content.acf_fc_layout|sanitize ~ '.twig'] ignore missing %}
{% set my_counter = my_counter + 1 %}
{% endfor %}
{% endblock %}
不幸的是,您不能在使用 Timber 时使用 get_row_index()
,因为该功能依赖于 ACF 在使用 have_rows()
时设置的全局变量,我们在 Timber 中没有。这类似于 Timber 试图摆脱的 WordPress 循环。
在 Twig 中,您始终可以使用
loop variable 在 for
循环中。此变量为您提供所需的计数器。
{% extends "base.twig" %}
{% block content %}
{{ dump(loop.index) }}
{% for flex_content in post.meta('flex_components') %}
{% include [flex_content.acf_fc_layout|sanitize ~ '.twig'] ignore missing %}
{% endfor %}
{% endblock %}