Я работаю над дизайном, который имеет другой стиль, если на странице присутствует определенный блок Гутенберга. Другими словами, если первый блок является пользовательским блоком Гутенберга, post_title отображается в другом месте из-за сделанного выбора дизайна.
Есть ли в WordPress какая-либо функция для получения списка всех блоков Гутенберга, присутствующих в post_content?
post-content
block-editor
Джеффри фон Грамбков
источник
источник
Ответы:
WordPress 5.0+ имеет функцию для этого:
parse_blocks()
. Чтобы увидеть, является ли первый блок в посте блоком заголовка, вы должны сделать это:источник
has_blocks($blockName)
вместо нее следует использовать : github.com/WordPress/gutenberg/pull/8631/commits/… . Там тожеhas_block()
(без "с").parse_blocks()
несуществующие блоки возвращаются в виде элементов массива NULL - core.trac.wordpress.org/ticket/45312Решение, которое я использую при написании, проверяет post_content для HTML-комментариев Гутенберга. Из-за будущих изменений Гутенберга это может не сработать в будущем.
источник
Начиная с версии 5.0, эти функции устарели, и теперь Гутенберг интегрирован в ядро. Я представляю, но не подтвердил, что эти функции все еще существуют в автономном плагине Gutenberg.
Вместо
gutenberg_content_has_blocks
использованияhas_blocks
Вместо
gutenberg_parse_blocks
использованияparse_blocks
источник