再撸wordpress后台菜单

本文教你用几行代码精简 WordPress 后台菜单,按需隐藏仪表盘、文章、媒体、页面、评论、外观、插件、用户…


生猛大蝦 - cosmic background with blue laser lights with cool shapes

这次来自于我爱水煮鱼大咖的blog:

可能因为不想给客户看到过多的菜单或者其他种种原因,你想简化 WordPress 后台菜单,其实这个非常容易:

add_action( 'admin_menu', 'wpjam_remove_admin_menus' );
function wpjam_remove_admin_menus(){
	remove_menu_page( 'index.php' );                  //Dashboard
	remove_menu_page( 'edit.php' );                   //Posts
	remove_menu_page( 'upload.php' );                 //Media
	remove_menu_page( 'edit.php?post_type=page' );    //Pages
	remove_menu_page( 'edit-comments.php' );          //Comments
	remove_menu_page( 'themes.php' );                 //Appearance
	remove_menu_page( 'plugins.php' );                //Plugins
	remove_menu_page( 'users.php' );                  //Users
	remove_menu_page( 'tools.php' );                  //Tools
	remove_menu_page( 'options-general.php' );        //Settings 
}

如果仅仅想移除子菜单,比如设置界面:

remove_menu_page( 'options-general.php' );        //Settings

也可以移除插件生成的菜单,只要复制链接的最后一段即可,比如要隐藏下面自定义日志类型生成的页面:

http://yourdomain.com/wp-admin/edit.php?post_type=portfolio

可以使用函数:

remove_menu_page( 'edit.php?post_type=portfolio' );
❓ 延伸问答与排错指南(FAQ)
WordPress 后台菜单怎么批量隐藏?

在 admin_menu 钩子里调用 remove_menu_page() 即可批量移除主菜单项。常见如仪表盘、文章、媒体、页面、评论、外观、插件、用户、工具和设置,按菜单 slug 逐个写入即可。

只想隐藏设置菜单该怎么写?

直接调用 remove_menu_page('options-general.php') 就能移除设置入口。这个方法适合只保留少量功能给客户使用,避免他们误改站点配置。

自定义文章类型菜单也能隐藏吗?

可以。找到该菜单链接最后一段对应的 slug,例如 edit.php?post_type=portfolio,然后用 remove_menu_page('edit.php?post_type=portfolio') 隐藏它。思路是复制后台菜单链接末尾参数来匹配。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。