禁用编辑器功能

本页专门介绍了许多方法,您可以禁用文章编辑器和站点编辑器中的特定功能,这些功能在管理文档的其他领域中没有涉及。

限制块选项

有时您可能根本不想让用户访问块。要控制插入器中可用的内容,可以采用两种方法:允许列表禁用除列表或拒绝注销特定块的列表.

禁用模式目录

要完全删除与WordPress核心绑定的模式,使其无法在Inserter中访问,可以将以下内容添加到您的函数.php文件:

函数示例_theme_support(){remove_theme_support(“核心块模式”);}add_action('after_setup_theme','example_theme_support');

禁用块变化

一些核心块实际上是块变化一个很好的例子是Row和Stack块,它们实际上是Group块的变体。如果要禁用这些“块”,实际上需要禁用相应的变体。

块变体是使用JavaScript注册的,需要使用JavaScript禁用。下面的代码将禁用Row变量。

wp.domReady(()=>{wp.blocks.unregisterBlockVariation('core/group','group-row');});

假设代码放置在禁用变量.js文件位于主题文件夹的根目录中,您可以将此文件排入主题的函数.php使用下面的代码。

函数示例_disable_variations_script(){wp_排队_脚本('示例变量脚本',获取模板目录uri()。'/disable-variations.js',数组('wp-dom-ready'),wp_get_theme()->获取(“版本”),真的);}add_action('enqueue_block_editor_assets','example_disable_variations_script');

禁用块样式

有几个核心块包括它们自己的块样式例如,图像块,它包含一种称为“圆角”的圆角图像块样式。您可能不希望用户对图像进行圆角处理,或者您可能更喜欢使用border-radius控件而不是块样式。无论哪种方式,都很容易禁用任何不需要的块样式。

与块变体不同,您可以在JavaScript或PHP中注册样式。如果在JavaScript中注册了样式,则必须使用JavaScript禁用它。如果使用PHP注册,则可以使用其中之一禁用样式。所有核心块样式都在JavaScript中注册。

因此,您可以使用以下代码禁用图像块的“圆角”块样式。

wp.domReady(()=>{wp.blocks.unregisterBlockStyle('core/image','rounded');});

这个JavaScript应该像上面的块变化示例一样排队。请参阅块样式有关如何使用PHP注册和注销样式的文档。

禁用对模板编辑器的访问

无论您是在Classic还是Block主题中使用theme.json,您都可以将以下内容添加到您的函数.php文件以删除对编辑文章或页面时可用的模板编辑器的访问:

函数示例_theme_support(){remove_theme_support(“块模板”);}add_action('after_setup_theme','example_theme_support');

这会阻止创建新块模板或从Post Editor中编辑它们。

禁用对代码编辑器的访问

代码编辑器允许您查看页面或帖子的基础块标记。虽然此视图对于经验丰富的用户很方便,但您可能会通过编辑内容无意中破坏块标记。将以下内容添加到您的函数.php文件以限制访问。

函数example_restrict_code_editor_access($settings,$context){$settings['codeEditingEnabled']=false;返回$settings;}add_filter('block_editor_settings_all','example_restrict_code_editor_access',10,2);

此代码阻止所有用户访问代码编辑器。您还可以添加能力检查以禁用特定用户的访问。

禁用RichText块的格式选项

支撑块超文本附带WordPress提供的默认格式选项。

需要使用JavaScript禁用格式选项unregisterFormatType(注销格式类型)。下面的代码将全局禁用内联图像、语言、键盘输入、下标和上标选项。

wp.domReady(()=>{wp.richText.unregisterFormatType('core/image');wp.richText.unregisterFormatType(“核心/语言”);wp.richText.unregisterFormatType(“核心/键盘”);wp.richText.unregisterFormatType('core/subscript');wp.richText.unregisterFormatType('core/superscript');});

这个JavaScript应该像上面的块变化示例一样排队。