📅  最后修改于: 2023-12-03 15:08:50.826000             🧑  作者: Mango
在 WordPress 编辑器中,文本选项卡可以让用户切换到代码视图,以便于编辑文本、插入代码等。但在某些情况下,你可能需要禁止用户访问文本选项卡,以防止他们误操作或潜在的安全风险。本文将介绍如何通过 PHP 代码来删除 WordPress 编辑器中的文本选项卡。
要删除 WordPress 编辑器中的文本选项卡,我们需要在编辑器的初始化过程中注入自定义 JavaScript 代码。这需要使用 wp_enqueue_script
函数将 JavaScript 文件注册到 WordPress 中,并使用 add_action
函数将代码片段添加到指定的初始化钩子中。
在准备 JavaScript 代码之前,我们需要知道选项卡的 ID。打开浏览器的开发者工具,进入编辑器页面,找到文本选项卡的 HTML 元素,并记下其 ID。一般来说,文本选项卡的 ID 是 content-html
,视觉选项卡的 ID 是 content-tmce
。还可以通过在 JavaScript 控制台中输入 $wp_scripts->registered
来查看已注册的脚本列表,其中包含 WordPress 编辑器所需的 wp-editor
和 tinymce
脚本。
接下来,我们可以在 JavaScript 文件中编写如下代码:
( function( $ ) {
$( document ).ready( function() {
$( '#content-html' ).remove();
} );
} )( jQuery );
这段代码将在页面加载完成后寻找 ID 为 content-html
的元素,并将其从 DOM 中删除。注意,在使用 PHP 将代码注册到 WordPress 中时,需要将将 $
等价于 jQuery
,否则会报错。
在这一步中,我们将在 WordPress 中注册上述脚本,并将其添加到特定的初始化钩子中。我们需要编写以下代码片段,并将其添加到 functions.php
文件中。这里我们使用 admin_enqueue_scripts
钩子。
function remove_text_tab() {
wp_enqueue_script( 'remove-text-tab', get_stylesheet_directory_uri() . '/js/remove-text-tab.js', array( 'jquery' ), '1.0', true );
}
add_action( 'admin_enqueue_scripts', 'remove_text_tab' );
这段代码的作用为,注册 ID 为 remove-text-tab
的 JavaScript 文件,并将其加入数组 jquery
,表示需要依赖于 jQuery 库。此外,脚本的位置也需要正确设置,这里我们将其放到了主题目录下的 js
文件夹中。
在完成上述步骤后,你可以重新加载 WordPress 编辑器页面,发现文本选项卡已经消失了。这个简单的技巧可以帮助你更好地控制 WordPress 的编辑器功能,增加网站的安全性和用户体验。