大家都知道,登录WordPress管理后台后,在屏幕左侧有不同的管理菜单。您可能需要在某些情况下删除/隐藏某些管理菜单,今天我们就来分享一下实现的方法。
例如,假设您有一个插件在管理菜单中添加了它的设置菜单。但是我们真的不想要或不需要菜单项,因为它仅占用宝贵的屏幕空间。因此,要从菜单中删除该项目。
通过代码删除WordPress管理菜单
首页,我们按照新下面的步骤准备一下:
- 点击菜单链接
- 从浏览器的地址栏中复制页面的网址
- 将该网址粘贴到便笺中或某处,稍后要用到
删除一级菜单
将以下代码添加到当前主题(或子主题)的functions.php
文件中:
function wpdaxue_remove_menu_item() {
remove_menu_page('menu-slug');
}
add_action('admin_menu', 'wpdaxue_remove_menu_item', 999);
接下来,将代码中的menu-slug
替换为要删除的菜单项的。例如,如果您的页面网址如下所示:
https://example.com/wp-admin/edit.php?post_type=simple-pay
然后,您将edit.php?post_type=simple-pay
用作菜单项。因此,最终代码为:
function wpdaxue_remove_menu_item() {
remove_menu_page('edit.php?post_type=simple-pay');
}
add_action('admin_menu', 'wpdaxue_remove_menu_item', 999);
保存更改并完成。
删除子菜单
假设我们找到的一级菜单和二级菜单的网址分别为:
主菜单:
http://aaaaa.cn/wp-admin/edit.php?post_type=astra-portfolio
子菜单1:
http://aaaaa.cn/wp-admin/edit-tags.php?taxonomy=astra-portfolio-other-categories&post_type=astra-portfolio
子菜单2:
http://aaaaa.cn/wp-admin/edit-tags.php?taxonomy=astra-portfolio-other-tags&post_type=astra-portfolio
那我们可以采用下面的代码实现去掉上面两个子菜单:
function astra_child_remove_menu_item() {
remove_submenu_page( 'edit.php?post_type=astra-portfolio', 'edit-tags.php?taxonomy=astra-portfolio-other-categories&post_type=astra-portfolio' );
remove_submenu_page( 'edit.php?post_type=astra-portfolio', 'edit-tags.php?taxonomy=astra-portfolio-tags&post_type=astra-portfolio' );
}
add_action('admin_menu', 'astra_child_remove_menu_item', 9999);
有关此方法的更多信息,请访问WordPress.org上的remove_menu_page()
(一级菜单) 和 remove_submenu_page()
(子菜单)。
删除非管理员的菜单项
从安全角度出发,有时候需要针对非管理员屏蔽一些管理菜单,以下代码就是一个简单的示例:
function wpdaxue_remove_menu_item() {
if (!current_user_can('manage_options')) {
remove_menu_page('edit.php?post_type=simple-pay');
}
}
add_action('admin_menu', 'wpdaxue_remove_menu_item', 999);
在这里,我们使用current_user_can()
函数来检查当前用户是不是管理员。如果该用户不是管理员用户,则该菜单项将被删除。
通过插件修改WordPress后台管理菜单
如果你不会折腾代码,或者你需要更灵活地设置多个菜单项,那你可以考虑试试 Admin Menu Editor、Hide Admin Menu 、Remove admin menus by roles或 Adminimize。
拓展阅读:
- 自定义排序WordPress后台管理菜单
- WordPress后台管理菜单编辑插件:Admin Menu Editor
- WordPress 在后台管理菜单中使用Dashicons图标
- 将通知气泡添加到WordPress管理菜单的3种方法
- 详解WordPress的用户角色和能力/权限
- WordPress根据用户角色显示/隐藏某些后台功能
请问下这个目录是插件实现的吗?
我们的是集成主题的,你要用的话,可以试试插件 https://www.wpdaxue.com/wordpress-table-of-content-plugins.html