古腾堡-使用自定义脚本删除/添加块

时间:2018-06-12 作者:Benmay

我目前正在用我自己开发的主题和插件测试新的古腾堡插件。我的主题有一个自定义元框,其中包含用户的操作。用户单击此操作后,将完全删除帖子内容,并将新的“自定义”内容添加到默认的tinyMce编辑器中。

Example: 蒂尼姆斯。获取(“内容”)。setContent(“我的自定义内容”)

这当然不再适用于新的Guteberg编辑器,我正在努力寻找解决方案。

因此,基本上我要做的是从gutenberg编辑器中删除所有块/内容,并通过javascript用我的自定义内容添加一个新块(文本)。有没有人能告诉我正确的方向?

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

可能有一种更简单的方法可以做到这一点,如果没有,您应该在Gutenberg GH问题跟踪程序上打开一个问题(API不是一成不变的)。

Because the API is not set in stone, this answer may be useless when it\'s finally done and merged. The first and best place to ask GB questions is on GitHub

可以使用以下方法消除所有块:

wp.data.dispatch( \'core/editor\' ).resetBlocks([]);
然后可以通过编程方式创建新块:

let block = wp.blocks.createBlock( \'core/paragraph\' );
向其中添加文本:

block.attributes.content.push( \'hello world\' );
然后像这样插入:

wp.data.dispatch( \'core/editor\' ).insertBlocks( block );
<小时>

On further inspection, there\'s a simpler method:

let block = wp.blocks.createBlock( \'core/paragraph\', { content: \'test\' } );
wp.data.dispatch( \'core/editor\' ).insertBlocks( block );

结束

相关推荐

如何在WordPress插件中插入html/css/javascript代码

我试图在用户使用woocommerce插件注册(action\\u hook:user\\u register)时显示一个模式对话框,但没有任何结果。如果有任何帮助,我将不胜感激!代码如下所示。myplugin.php// handler for new_user_registered $myplugin->register_action_hook ( \'user_register\', array( \'hooksClass\',