资讯中心

3招图解步骤解决wordpress怎么把设置菜单去除

📅 2026/9/25 9:23:11
3招图解步骤解决wordpress怎么把设置菜单去除

3招图解步骤解决wordpress怎么把设置菜单去除

域名服务器搞不懂?别慌。很多站长刚接手 WordPress 站点,后台菜单密密麻麻,看着就头大。尤其是“设置”这个板块,里面藏着站点标题、固定链接、媒体选项等核心配置。如果你只是负责日常内容更新,或者客户只想改文字不想动底层结构,那个庞大的“设置”菜单就是最大的干扰源。

今天不讲虚的,直接上干货。我会用图解步骤的方式,手把手教你在不动代码、不破坏主题的前提下,干净利落地把 WordPress 后台的“设置”菜单去掉。这不仅是美观问题,更是权限管理的刚需。很多外包团队或内容运营人员,根本不需要碰服务器配置,给他们开权限时,隐藏设置菜单能避免 90% 的误操作事故。

为什么你要隐藏设置菜单:权限与安全的博弈

先说个真实的坑。去年有个做外贸站的客户,找了个兼职大学生写文章。结果这哥们儿手滑,在“设置”里的“固定链接”选项里改了一下结构,直接导致全站 404,百度收录全掉。后来去查百度搜索资源平台的抓取日志,发现大量页面无法访问,重新提交收录花了两周才缓过来。

这就是典型的“权限过大”导致的灾难。WordPress 的默认用户角色设计其实很粗糙,“管理员”拥有上帝视角,而“编辑”虽然不能删主题插件,但依然能看到很多敏感信息。对于非技术人员来说,后台越简单越好。

隐藏设置菜单的核心价值有三点:

  1. 降低误操作风险:普通运营人员只需要“文章”、“媒体”、“页面”这几个菜单。把“设置”、“外观”、“插件”、“主题”全藏起来,他们就没机会把站点搞崩。
  2. 提升操作效率:菜单少了,找东西快了。对于每天要发几十篇文章的站群运营,减少视觉干扰就是提升生产力。
  3. 品牌化定制:如果你给 B 端客户做 SaaS 化的 CMS 服务,隐藏默认菜单,换上你自己的 Logo 和导航,专业感立马就出来了。

但是,隐藏菜单不是删除功能。只要用户有权限,通过直接访问 wp-admin/options-general.php 还是能进去的。所以,真正的安全是“菜单隐藏 + 权限降级”双管齐下。接下来我们对比三种主流的技术方案,看看哪种最适合你。

三种方案核心差异对比:从轻量到硬核

在动手之前,先搞清楚市面上常见的三种做法:使用插件、修改主题 functions.php、使用子主题。这三种方案各有优劣,选错了不仅白忙活,还可能被主题更新覆盖。

为了让你一眼看懂,我整理了一张对比表:

对比维度 方案一:使用插件 (如 Admin Menu Editor) 方案二:主题 functions.php 代码 方案三:子主题 + 代码
技术门槛 极低,勾选即可 中等,需懂 PHP 基础 高,需理解 WordPress 继承机制
可维护性 高,插件可独立升级 低,主题更新可能覆盖代码 极高,主题更新不影响子主题
性能影响 轻微增加数据库查询或钩子负载 几乎无额外开销 几乎无额外开销
灵活性 高,可视化拖拽排序 中,需写代码控制条件 中,需写代码控制条件
适用场景 临时需求、非技术人员操作 单一主题长期稳定使用 多主题切换、长期项目交付
风险等级 低 中(备份不当易丢失) 低

划重点: 如果你是独立站长,且网站长期只使用这一套主题,方案二(functions.php) 是最推荐的。它不依赖第三方插件,减少攻击面,且代码可控。 如果你是给客户做交付项目,或者经常换主题,必须用方案三(子主题)。否则主题一升级,你写的代码全没了,客户会投诉你“不专业”。 方案一适合那些完全不懂代码、只想快速看到效果的老板,但我不建议在生产环境长期使用插件来改后台结构,毕竟多一个插件就多一分被拖慢的风险。

实操代码详解:三种方案的具体写法

光说不练假把式。下面我把三种方案的具体代码和配置步骤都列出来,你可以直接复制使用。

方案一:插件可视化配置(适合小白)

虽然我不推荐长期用,但有时候应急很方便。以常用的 Admin Menu Editor 插件为例:

  1. 在插件库搜索安装并激活该插件。
  2. 后台出现“菜单编辑器”选项。
  3. 找到“设置”这一项,勾选“隐藏”(Hide),而不是“移除”(Remove)。
  4. 保存即可。

优点:可视化,不用碰代码。 缺点:插件可能停止更新,且不同插件兼容性不一。

方案二:主题 functions.php 代码(推荐独立站长)

这是最通用的方法。我们需要利用 WordPress 的 admin_menu 钩子函数。

操作步骤:

  1. 进入 WP 后台 -> 外观 -> 文件编辑器。
  2. 在右侧找到当前主题的 functions.php 文件(建议先备份)。
  3. 在文件末尾添加以下代码:
// 隐藏设置菜单
function hide_wp_settings_menu() {remove_menu_page( 'options-general.php' ); // 移除主设置菜单
}
add_action( 'admin_menu', 'hide_wp_settings_menu' );// 进阶:如果只想对非管理员用户隐藏,可以加判断
// function hide_wp_settings_menu_for_editors() {
//     if (!current_user_can('administrator')) {
//         remove_menu_page( 'options-general.php' );
//     }
// }
// add_action( 'admin_menu', 'hide_wp_settings_menu_for_editors' );

代码解析:

  • remove_menu_page:这是 WordPress 内置函数,用于移除后台菜单项。
  • 'options-general.php':这是“设置”菜单对应的 slug。如果你想隐藏“外观”,就用 'themes.php';隐藏“插件”,就用 'plugins.php'。
  • add_action:将我们的函数挂载到后台加载菜单的时机上。

注意: 这段代码对所有用户生效。如果你希望管理员还能看到,而编辑看不到,请启用下方注释部分的代码。

方案三:子主题 + 代码(推荐项目交付)

如果你担心主题更新覆盖代码,或者你想保持主题纯净,子主题是最佳实践。

操作步骤:

  1. 创建子主题文件夹,通常命名为 your-theme-child。
  2. 在子主题中创建 style.css,头部写入主题信息。
  3. 在子主题中创建 functions.php。
  4. 在子主题的 functions.php 中写入与方案二相同的代码。

子主题 functions.php 示例:

<?php
// 子主题加载父主题样式
function my_child_theme_enqueue_styles() {$parent_style = 'your-theme-style'; // 替换为父主题 style.css 中的样式句柄wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( $parent_style ) );
}
add_action( 'wp_enqueue_scripts', 'my_child_theme_enqueue_styles' );// 隐藏设置菜单
function hide_wp_settings_menu_child() {remove_menu_page( 'options-general.php' );
}
add_action( 'admin_menu', 'hide_wp_settings_menu_child' );
?>

为什么子主题更安全? WordPress 的核心设计原则就是“可扩展而不侵入”。当你使用子主题时,即使父主题(比如 Divi、Astra)进行了大版本更新,甚至重构了目录结构,你的子主题代码依然完好无损。这对于长期运营的站点至关重要。

上线部署与常见坑点规避

代码写好了,直接保存就能生效吗?不一定。这里有两个常见的坑,我踩过无数次,你务必注意。

坑点一:缓存导致代码不生效

很多站长加了代码,刷新后台发现菜单还在。别急,大概率是缓存插件在捣乱。

  • 检查点:如果你安装了 WP Rocket、W3 Total Cache 等缓存插件,请清空后台缓存。
  • 浏览器缓存:强制刷新(Ctrl+F5)后台页面。
  • 对象缓存:如果你用了 Redis 或 Memcached,需要在服务器端清除对象缓存。

坑点二:权限混淆导致的“假隐藏”

有些站长反馈:“我代码加了,但是客户说还是能看到。” 这通常是因为客户用的是“超级管理员”账号,而你的代码逻辑里可能写了“仅对非管理员隐藏”。

  • 解决方案:检查你的代码逻辑。如果是全量隐藏,确保没有 current_user_can 的判断包裹。
  • 测试方法:新建一个“编辑”角色的测试账号,用这个账号登录后台,看菜单是否消失。不要只用管理员账号测试。

坑点三:主题冲突

某些商业主题(如 Elementor 模板库主题)可能会在 admin_menu 钩子上做复杂的菜单重组。如果你的 remove_menu_page 执行时机比主题的晚,可能无效。

  • 解决方案:尝试调整钩子的优先级参数。
    // 默认优先级是 10,可以尝试设为 11 或更晚
    add_action( 'admin_menu', 'hide_wp_settings_menu', 11 );
    
    或者,直接在子主题中覆盖主题的菜单逻辑,但这需要更深的主题代码分析能力。

安全加固建议:

隐藏菜单只是“障眼法”。为了真正的安全,我建议在 functions.php 中再加一层防护,禁止特定角色直接访问设置页面。

// 禁止编辑及以下角色直接访问设置页面
function block_direct_access_to_settings() {if (!current_user_can('administrator') && isset($_SERVER['SCRIPT_NAME']) && strpos($_SERVER['SCRIPT_NAME'], 'options') !== false) {wp_die( '权限不足', '无权访问', array( 'response' => 403 ) );}
}
add_action( 'admin_init', 'block_direct_access_to_settings' );

这段代码的作用是:如果一个用户不是管理员,且他试图通过 URL 直接访问 wp-admin/options-*.php,直接跳出 403 错误页面。这才是真正的“去设置”。

选型建议与行业避坑指南

回到最初的问题:wordpress怎么把设置菜单去除,哪种方式最好?

我的建议非常明确:

  1. 个人博客/小站:用方案二(主题 functions.php)。简单、直接、无依赖。记得每次备份主题文件。
  2. 客户交付/企业站:必须用方案三(子主题)。这是专业度的体现。你在交付文档里写明“所有自定义功能均在子主题中实现,主题升级不影响功能”,客户会非常放心。
  3. 大型多站点/插件化架构:可以考虑开发一个专用的“权限管理”插件,通过后台界面让用户勾选要隐藏的菜单。但这超出了单站优化的范畴,属于产品化开发。

关于薪资与地区差异的补充(针对从业者):

如果你是通过提供这项服务来获客或提升职业竞争力,要注意市场定价。

  • 一线城市(北上广深):这类后台定制需求,通常打包在“网站维护套餐”或“开发定制费”中。单独报价的话,纯代码修改市场价在 200-500 元/次,因为技术含量不高,贵在沟通成本。
  • 二三线城市/远程兼职:价格会更透明,可能在 100-300 元。
  • 避坑提醒:很多新手站长为了赚钱,直接帮客户改主主题文件。这是大忌!一旦客户投诉“网站被搞坏了”,你很难证明不是你改坏的。永远坚持“子主题”或“插件”方案,并在操作前截图备份,这是你保护自己的最好方式。

另外,培训机构选择也是一大坑。很多培训班教的是“插件堆砌”,让你去装各种“后台美化”插件。记住,真正的 WordPress 开发能力,体现在对钩子(Hooks)、模板层级(Template Hierarchy)和权限系统的理解上。能独立写出 remove_menu_page 并解释其原理的人,比装 10 个插件的人更有价值。

最后,分享一个百度搜索资源平台的建议:后台结构的变化,虽然不直接影响前端 SEO,但如果你修改了固定链接结构(在设置里),务必去百度资源平台提交新的站点地图。后台菜单的隐藏不会触发这个,但如果你为了“去设置”而顺手改了 URL 结构,那就要小心了。

你更倾向模板建站还是定制开发?欢迎评论

文章转载自 http://www.xxmr.cn/articles-qsko.html

看完文章,想为自己的企业也做一次专业网站诊断?

尧图顾问免费为您评估现有网站,并给出建站/改版建议与报价方案。

免费获取方案