使用CSS隐藏添加的管理页面菜单

时间:2012-07-26 作者:Gandalf

我在wordpress中添加了一个管理页面,但我需要将其隐藏起来。我像这样成功地添加了页面

function add_admin_page()
{
$themename = \'Cesaro\';
$page_function = \'admin_page\';
add_menu_page($themename." Options", $themename, \'edit_themes\', $page_function, \'admin_page\');
}
add_action(\'admin_menu\', \'add_admin_page\');
为了隐藏它,我使用firebug查看了它的css,并发现了一个模式,似乎是这样的。以我演示的格式添加的页面的css id以#toplevel\\u page\\uu{page\\u added}开头,因此我添加的页面的css id是#toplevel\\u page\\u admin\\u page。

我继续做了

#toplevel_page_admin_page{
display:none !important;
}
此格式#toplevel\\u page{page added}是否与所有wordpress安装一致?。

1 个回复
最合适的回答,由SO网友:Tomas Buteler 整理而成

WordPress已经为您解决了这个问题。你的第三个论点add_menu_page 函数,该函数读取edit_themes 是访问页面所需的功能。如果用户没有该功能,他就无法访问该页面,因此WordPress不会在菜单上向他显示该选项。聪明,不是吗?

现在,根据您在评论中提到的代码,您将页面限制为可以edit_posts. 如果这是你想要的,就在add_menu_page 功能。否则,就没有意义了。

PS:如果你打算添加一个主题选项页面,我建议使用add_theme_page 函数,将其嵌套在菜单的外观部分。

结束

相关推荐

多站点插件-子站点上的访问选项(Wp_Options)

有什么方法可以访问wp_options 所有子站点的表?我想创建一个可以在网络级别设置的多站点插件,并用默认值填充子站点插件,然后每个站点都可以覆盖这些插件。我知道我可以从wp_sitemeta 这样,但在我的例子中,如果我可以访问其他“本地”表,那就有意义了。我可能可以使用WP query函数编写自定义查询,但我想知道是否有更好的方法?