📜  如何在 wordpress 编辑器中删除文本选项卡 - PHP (1)

📅  最后修改于: 2023-12-03 15:08:50.826000             🧑  作者: Mango

如何在 WordPress 编辑器中删除文本选项卡 - PHP

在 WordPress 编辑器中,文本选项卡可以让用户切换到代码视图,以便于编辑文本、插入代码等。但在某些情况下,你可能需要禁止用户访问文本选项卡,以防止他们误操作或潜在的安全风险。本文将介绍如何通过 PHP 代码来删除 WordPress 编辑器中的文本选项卡。

第一步:了解编程技巧

要删除 WordPress 编辑器中的文本选项卡,我们需要在编辑器的初始化过程中注入自定义 JavaScript 代码。这需要使用 wp_enqueue_script 函数将 JavaScript 文件注册到 WordPress 中,并使用 add_action 函数将代码片段添加到指定的初始化钩子中。

第二步:准备 JavaScript 代码

在准备 JavaScript 代码之前,我们需要知道选项卡的 ID。打开浏览器的开发者工具,进入编辑器页面,找到文本选项卡的 HTML 元素,并记下其 ID。一般来说,文本选项卡的 ID 是 content-html,视觉选项卡的 ID 是 content-tmce。还可以通过在 JavaScript 控制台中输入 $wp_scripts->registered 来查看已注册的脚本列表,其中包含 WordPress 编辑器所需的 wp-editortinymce 脚本。

接下来,我们可以在 JavaScript 文件中编写如下代码:

( function( $ ) {
    $( document ).ready( function() {
        $( '#content-html' ).remove();
    } );
} )( jQuery );

这段代码将在页面加载完成后寻找 ID 为 content-html 的元素,并将其从 DOM 中删除。注意,在使用 PHP 将代码注册到 WordPress 中时,需要将将 $ 等价于 jQuery,否则会报错。

第三步:注入 JavaScript 代码

在这一步中,我们将在 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 的编辑器功能,增加网站的安全性和用户体验。