问题描述
退房后:http://codex.wordpress.org/Function_Reference/remove_menu_page,我成功地使用以下代码从菜单中隐藏一些东西:
add_action( 'admin_menu', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
remove_menu_page('link-manager.php');
remove_menu_page('tools.php');
remove_menu_page('users.php');
remove_menu_page('edit-comments.php');
}
但是,”posts page” 和自定义帖子类型页面似乎都在/wp-admin/edit.php
上运行。
所以我正在寻找一种隐藏菜单栏的方式,但仍显示我添加的自定义帖子类型的菜单。
最佳解决方案
做这个 search,我发现了 Chris_O 的 this fine answer 。甚至还有一个 jQuery 解决方案。
无论如何,功能 remove_menu_page('edit.php');
只删除帖子菜单。
但是,当我们从 Chris 回答中学习时,remove_menu_page('edit.php?post_type=athletes');
将删除 「自定义帖子类型」 菜单。
要真正阻止对 URL 的访问,因为我们只是隐藏菜单项,请查看以下 Q& A:Blocking Administrative Access to Authors and Subcribers?
次佳解决方案
我刚刚尝试,remove_menu_page('edit.php');
只会删除帖子顶级菜单。
我所有的其他自定义帖子类型 (和我有很多) 仍然可以正常工作。我有一种感觉,这是因为它直接查找完全是 slug,而不是文件的 basename 。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。