禁用角色的“代码编辑器”,例如s

时间:2019-04-09 13:50:58

标签: wordpress wordpress-gutenberg

我被要求禁用WordPress Gutenberg编辑器中的“代码编辑器”和“编辑为HTML”功能。

很遗憾,我无法在Google上找到任何解决方案(感谢Classic Editor的帖子...)或wp.org开发人员参考。

我的第一次尝试是使用wp_default_editor过滤“代码编辑器”菜单项,但是可能的参数似乎不适用于WP版本5。*

对这两种情况中的任何一种有想法吗?

1 个答案:

答案 0 :(得分:0)

要为站点上的所有块禁用“编辑为HTML”选项,您需要设置Webpack以及所有类似的事情。如果您不想自己进行设置,可以使用Create Guten Block来启动项目。

然后,在您的block.js文件(或您为编辑器设置的任何自定义JS文件)中,只需几行代码。使用registerBlockType过滤器可在注册时立即更改所有块,这将使您可以根据需要禁用“编辑为HTML”以及其他功能(例如自定义类名)。

// Use WP Hooks
const { addFilter } = wp.hooks;
// Create the filter
addFilter(
    "blocks.registerBlockType", // Using the registerBlockType hook
    "cgb/change-core-blocks", // Custom namespace, slash, name for your filter
    changeCoreBlocks // The name of your custom function
);
function changeCoreBlocks( settings, name ) {
    // This will fire for all blocks - from Core, plugins, and themes
    settings.supports = Object.assign({}, settings.supports, {
        // Setting "html" to false disables the "Edit as HTML" functionality
        html: false
    });
}

在较旧的JavaScript中,可能有一种方法可以不需要您设置Webpack或使用创建Guten块,而运行这种简单的过滤器似乎相当复杂。