Как создать универсальный блок для ACF Flexible Content и Gutenberg
ฝัง
- เผยแพร่เมื่อ 10 ก.ย. 2024
- В данном ролике рассказал как на основе существующей группы полей и файла шаблона для Гибкого содержимого создать Гутенберг-блок. На данный момент это наиболее простой и универсальный способ.
отличное видео спасибо
А как вы выводите контент гутенберга без функции the_content()? И зачем тогда поля ACF флекс нужны, если вы отдельную группу полей создаете которая никак не связана с ними, а просто дублирует набор полей? Странное решение
Спасибо за вопрос. Смотрите, сама ситуация с универсальным блоком нужна, например, когда страницы используют флексибл-контент, а в постах идет гутенберг и некоторые блоки вы хотите использовать и там и там. Тогда для страниц the_content() не нужен, так как вся информация хранится в acf-полях и данные выводятся через конструкцию while ( have_rows() ).
Две группы полей нужны вот для чего, блоки гутенберг сделанные с помощью ACF используют функции the_field() и get_field(), а в блоках флексибл-контента -- функции the_sub_field() и get_sub_field(). Этот момент мне уже удалось обойти и создание дубликата группы полей для каждого блока вручную большей не нужно
Способ классный. Спасибо что делитесь. Правда попытки повторить ваши шаги не приводят к результату. ACF-блок работает, но цикл с index.php не выводит его на страницу во фронте
напишите мне в телеграм или vk, помогу разобраться. мой ник solidcreature
@@WordPressMoscow Спасибо. Пока пробую сам разобраться. Уже попереписывал тему с нуля раза три, переустанавливал WP и т.д.
У меня работает только с функцией вывода the_content(), а с have_rows() ничего нет. Ниже комментатор спрашивал про это, но в моем случае как-то безрезультатно.
Кстати, на вашем ролике от 01 фев. 2019 - "Создание универсального gutenberg-блока с помощью ACF Flexible Content" на 07:58 минуте заметил, что у вас есть файл в корне темы - page.php со стандартным циклом while(have_posts()): the_post(); the_content(); endwhile;
Если этот файл держать там, то по иерархии шаблонов, WP использует page.php и через the_content() выводит запись и ACF-блок как надо.
В ролике что сейчас от 2021г., заметил, что в корне темы лежит single.php. Если сунуть этот цикл туда, то также всё работает. При этом, если принудительно открывать index.php со своим while(have_rows('page_floors')): the_row(); то ничего нет, как будто плагин не понимает о чем идет речь в шаблоне)
@@WordPressMoscow написал вам в ВК