您可以在JavaScript中完成,但缺点是必须逐块完成。
您需要安装lodash的网页包:
function removeHtmlEditing( settings, name ) {
return lodash.assign( {}, settings, {
supports: lodash.assign( {}, settings.supports, {
html: false
} ),
} );
}
wp.hooks.addFilter(
\'blocks.registerBlockType\',
\'core/paragraph\',
removeHtmlEditing
);
关于
wp.hooks.addFilter()
. 我试着传入一个块数组、一个空字符串和一个星号,但这不起作用——它似乎需要一个包含名称空间的块名。因此,您必须为站点上的每个块添加一个过滤器,尽管至少
removeHtmlEditing()
这个功能对他们都有用。
似乎也没有一种方法可以直接显示:没有CSS的“编辑为HTML”按钮,因为没有特定的CSS类、aria标签或数据属性来确定您的目标按钮。
这会将html“支持”设置更改为false,从而阻止“编辑为html”按钮出现。然而,如果一个块被破坏,它们仍然可以输入HTML。如果自定义HTML块是他们添加错误代码的另一个地方,您可能还希望完全禁用该块。再一次,当您将JS排队时,您需要webpack和“wp blocks”、“wp dom ready”和“wp edit post”作为依赖项:
wp.domReady( function() {
wp.blocks.unregisterBlockType( \'core/html\' );
} );