移除「我的站点」菜单 | 多站点下的权限精简优化
› VFX大学 › wordpress开发 › 移除「我的站点」菜单 | 多站点下的权限精简优化
- This topic has 0 个回复, 1 个参与人, and was last updated 2 天, 22 小时 前 by
追光.
正在查看 0 条回复
- 作者帖子
- 2025年7月9日 - 下午12:47 #196
追光管理员在 WordPress 多站点(Multisite)环境中,用户(特别是作者或编辑)登录后通常会在顶部工具栏(Admin Bar)看到一个 “我的站点”(my-sites)的下拉菜单,列出自己可访问的所有站点。这在站点数量较多或子站点结构较复杂的系统中,容易造成界面混乱、误操作,甚至信息泄露。
在 NewVFX 或类似平台的架构中,我们往往希望:
只保留总管理员(Super Admin)对全站的统一管理视图;
让普通用户专注于当前站点,避免进入不必要的子站点;
在前后端统一移除多站点相关菜单,确保体验一致性。✅ 代码作用解析
// 后台移除“我的站点” add_action('admin_init', function () { if (!current_user_can('manage_network')) { add_filter('wp_before_admin_bar_render', function () { global $wp_admin_bar; $wp_admin_bar->remove_menu('my-sites'); }); } });
🔹 触发时机:在后台加载阶段(admininit)。
🔹 作用对象:非网络管理员(!currentusercan(\’managenetwork\’))。
🔹 操作内容:从后台顶部工具栏移除「我的站点」菜单(my-sites)。
// 前台也移除“我的站点” add_action('wp_before_admin_bar_render', function () { if (!current_user_can('manage_network')) { global $wp_admin_bar; $wp_admin_bar->remove_menu('my-sites'); } });
🔹 触发时机:前端页面加载时。
🔹 作用对象:同样只针对非总管理员用户。
🔹 操作内容:在前台隐藏「我的站点」下拉列表,保持与后台一致的权限展示。
🎯 实际意义与好处
项目效果
🧼 界面清爽普通用户不再看到与自己无关的站点信息
🔒 安全性提升减少误点击进入其他子站点的风险,避免访问路径暴露
📐 权限隔离体现出角色的功能边界,提升系统控制感
🎯 一致性体验前后台行为一致,用户体验更统一
- 作者帖子
正在查看 0 条回复
- 在下方一键注册,登录后就可以回复啦。