我被要求禁用WordPress Gutenberg编辑器中的“代码编辑器”和“编辑为HTML”功能。
很遗憾,我无法在Google上找到任何解决方案(感谢Classic Editor的帖子...)或wp.org开发人员参考。
我的第一次尝试是使用wp_default_editor过滤“代码编辑器”菜单项,但是可能的参数似乎不适用于WP版本5。*
对这两种情况中的任何一种有想法吗?
答案 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块,而运行这种简单的过滤器似乎相当复杂。