Существует небольшая вспомогательная функция, которая сначала конвертирует необработанный HTML-код в блоки gutenberg, а затем сериализует его в готовый к публикации gutenberg контент.
Сценарий запроса
function load_admin_resources_footer() {
wp_enqueue_script( 'filter', get_template_directory_uri() . '/js/article-filter.js', array('jquery', 'wp-blocks', 'wp-edit-post'));
}
add_action('admin_footer', 'load_admin_resources_footer');
Преобразование в блоки
var editholdy_is_activate = false;
function convert_to_gutenberg(content, remove_spaces = false) { // "'wp-blocks', 'wp-edit-post'" - should be setted as current script dependecies
// initiate all built-in gutenberg blocks
if (!editholdy_is_activate) {
$('<div />').attr('id', 'editholdy').attr('style', 'display: none').appendTo('body');
wp.editPost.initializeEditor('editholdy');
editholdy_is_activate = true;
}
var gutblock = wp.blocks.rawHandler({
HTML: content,
});
var serelized = wp.blocks.serialize(gutblock);
serelized = (remove_spaces) ? serelized.replace(/(\n|\r)/g, '') : serelized;
return serelized;
}