Я создаю собственный плагин WP, который работает с редактором Гуттенберга.Одна из функций заключается в том, что пользователь выбирает часть текста в редакторе.Нажмите на кнопку.JS возьмет выделенный текст, обработает его и заменит выбранный код пользовательской строкой короткого кода.Например, у нас есть текст
Lorem ipsum Custom Word и другие слова
Пользователь выбирает «Custom Word», нажимает на кнопку и js динамически заменяет его на
Lorem ipsum [custom_shortcode title = "Custom Word"] и другие слова
Я устанавливаю содержимое блока с отредактированным содержимым с помощью jQuery следующим образом:
var all_content = tinyMCE.activeEditor.getContent();
all_content = all_content.replace( string_to_replace, shortcode_string );
tinymce.activeEditor.setContent( all_content )
Я думаю, чтоне правильный способ применить контент к блоку.
ТАК, что все работает нормально.Проблема становится, когда я нажимаю Сохранить или Предварительный просмотр
Окончательный результат не сохраняет мой вставленный код шорткода.Как я понимаю, по сути, содержимое блока не было обработано Гуттенбергом, и я просто делаю визуальную вставку в html.
Я новичок в Гуттенберге и не уверен, как мне сделать это для повторного рендеринга отредактированного блока, чтобы применить изменения.
Iv попытался после выполнения всех замен восстановить содержимое Гуттенберга с
var editedContent = wp.data.select( "core/editor" ).getEditedPostContent().content;
wp.data.dispatch( 'core/editor' ).editPost( { content: editedContent } );
Но безуспешно.Может кто-нибудь мне помочь ?TNX