parse_blocks()
Получает данные о блоках (Гутенберг) из переданного контента (строки).
Работает на основе: WP_Block_Parser()
Хуки из функции
Возвращает
Массив[]
. Данные по блокам.
Использование
parse_blocks( $content );
- $content(строка) (обязательный)
- Контент, который нужно распарсить.
Примеры
#1 Пример возвращаемых данных
Пусть у нас следующего вида контент:
<!-- wp:gallery {"ids":[11]} --> <figure class="wp-block-gallery columns-1 is-cropped"> <ul class="blocks-gallery-grid"> <li class="blocks-gallery-item"> <figure> <img src="https://wp-test.ru/wp-content/uploads/2020/05/2020-landscape-1-1024x656.png" alt="" data-id="11" data-full-url="https://wp-test.ru/wp-content/uploads/2020/05/2020-landscape-1.png" data-link="https://wp-test.ru/my-super-image/" class="wp-image-11"/> </figure> </li> </ul> </figure> <!-- /wp:gallery --> <!-- wp:cover {"overlayColor":"luminous-vivid-amber"} --> <div class="wp-block-cover has-luminous-vivid-amber-background-color has-background-dim"> <div class="wp-block-cover__inner-container"> <!-- wp:paragraph {"align":"center","placeholder":"Введите заголовок...","fontSize":"large"} --> <p class="has-text-align-center has-large-font-size">Супер заголовок блока!</p> <!-- /wp:paragraph --> </div> </div> <!-- /wp:cover --> <!-- wp:paragraph --> <p>Обычный параграф с текстом</p> <!-- /wp:paragraph -->
Пропустим данный контент через функцию
$parse_content = parse_blocks( $content ); print_r( $parse_content );
Функция вернёт следующий результат:
Список изменений
С версии 5.0.0 | Введена. |
Код parse_blocks() parse blocks WP 6.5.2
function parse_blocks( $content ) { /** * Filter to allow plugins to replace the server-side block parser. * * @since 5.0.0 * * @param string $parser_class Name of block parser class. */ $parser_class = apply_filters( 'block_parser_class', 'WP_Block_Parser' ); $parser = new $parser_class(); return $parser->parse( $content ); }