Я использую flexcontent ACF, однако, чтобы позволить пользователю добавлять различные типы контента в одну строку, я вложил в него больше элементов flexcontent.
Цель для конечного пользователя: возможность добавить текст или изображение, и перетащить их, чтобы решить порядок.
У меня есть другие типы flexcontent для изображений, видео, текста и т. д. c. Они работают нормально.
Структура моих полей ACF:
--text
--image etc (all other flexcontent blocks)
--content_mixed = flexcontent
----column = flexcontent
--------text= flexcontent
----------------text (text field)
--------image=flexcontent
----------------imagegroup (group)
--------------------------------image
--------------------------------caption
Мой код:
{% set flexcontent == post.get_field('flexcontent')%}
{% if flexcontent %}
{% for item in flexcontent %}
{% if item.acf_fc_layout == 'text' %}
{% elseif item.acf_fc_layout == 'images' %}
//images
{% elseif item.acf_fc_layout == 'content_mixed' %}
// text + image, this shows up
{% for subitem in post.subitem.get_field('column') %}
{% if subsubitem.acf_fc_layout == 'text' %}
//text
{% endif %}
{% if subsubitem.acf_fc_layout == 'imagegroup' %}
// image
//image caption etc
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endif %}
Я думаю, что я в неправильной итерации, но возникли проблемы с поиском, как добраться до нужного. Я не вижу ни одного содержимого, добавленного в сообщение.
print_r для {{item.column}} (внутри первого поля flexcontent, "content_mixed") равно
Array
(
[0] => Array
(
[acf_fc_layout] => text
[text] =>
Lorem Ipsum doret sit amet
)
[1] => Array
(
[acf_fc_layout] => image
[imagegroup] => Array
(
[image] => Array (
//all image info
)