WordPress php添加内置的古腾堡(Gutenberg)模块
2021-04-20
在创建自定义古腾堡(Gutenberg)模块时,想插入编辑器中自带的模块,如按钮组,介绍一种简单有效的方式。
打开编辑器的代码模式,复制模块化代码。如:
<!-- wp:paragraph -->
<p>Hello World!</p>
<!-- /wp:paragraph -->
在需要显示模块的地方,用php输出。
<?php
echo "<!-- wp:paragraph --><p>Hello World!</p><!-- /wp:paragraph -->";
?>
按理说,WordPress应该有类似创建模块的函数,查询了半天,只看到类似parse_blocks()和render_block()的功能,都与$post相关,满足不了需求。
略微瞅了下源码,js方面有createBlock函数。参考示例:
let block = wp.blocks.createBlock( 'core/paragraph', { content: 'hello world' } );
wp.data.dispatch( 'core/editor' ).insertBlocks( block );
暂时没有做测试,有兴趣的可以研究下。
推荐