Как вставить блок Гутенберга в post_content при использовании wp_insert_post ()? - PullRequest
0 голосов
/ 20 октября 2019

Я хотел бы создать блок Гутенберга в php.

В настоящее время я разрабатываю плагин для wordpress, который импортирует видео с YouTube и создает пост для каждого видео. Я могу вставить видео на YouTube в post_content, но когда я редактирую сообщение с помощью редактора Гутенберга, оно не отображается как блок.

Я прочитал большую часть «Руководства редактора блоков» здесь https://developer.wordpress.org/block-editor/ Но я не могу найти ничего, кроме как создать пользовательский блок. Я также искал в Google, но все, что я нашел, было также о создании пользовательского блока. Тем не менее, я обнаружил, что блоки Гутенберга хранятся внутри post_content в виде html-комментария, но, похоже, комментарий генерируется с помощью js через редактор WYSIWYG Гутенберга.

Я знаю, что могу создать сообщение с блоками и скопировать post_contentиз моей базы данных, затем использовать его в качестве «шаблона», но я не думаю, что это правильный путь.

Есть ли документация об использовании блоков, которые поставляются с WordPress (например: embed, paragraphe) и генерироватьHTML-комментарий, который сохраняется в post_content с помощью php? Это вообще возможно?

1 Ответ

0 голосов
/ 20 октября 2019

Когда вы добавляете блок YouTube вручную, щелкните представление «Редактор кода» в меню «Инструменты и параметры» (справа). В представлении «Редактор кода» вы увидите HTML-код, необходимый редактору для правильного анализа блока.

Например:

<!-- wp:core-embed/youtube {"url":"https://www.youtube.com/watch?v=VIDEOID","type":"video","providerNameSlug":"youtube","className":"wp-embed-aspect-16-9 wp-has-aspect-ratio"} -->
<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
https://www.youtube.com/watch?v=VIDEOID
</div></figure>
<!-- /wp:core-embed/youtube -->
...