删除管理中的整个菜单

时间:2012-02-14 作者:Lee

如何删除管理中的整个菜单?

我有以下代码:

function remove_menu_items() {
    global $menu;

    end( $menu );

    while ( prev($menu) ) {
        $value = explode( \' \', $menu[ key($menu) ][0] );
        if ( $value[0] != NULL ? $value[0] : "" ) {
            unset( $menu[ key($menu) ] );
        }
    }
}
add_action( \'admin_menu\', \'remove_menu_items\' );
这只会删除默认菜单项,任何通过插件添加到菜单中的页面仍然存在。

如何删除整个菜单?

3 个回复
最合适的回答,由SO网友:fuxia 整理而成

add_action(\'admin_head\', \'t5_hide_menu\');
function t5_hide_menu()
{
    $GLOBALS[\'menu\'] = array();
    ?>
<style>#adminmenuback,#adminmenuwrap{display:none !important}
#wpcontent, #footer{margin-left:0 !important}</style>
<?php
}
现在我想知道:为什么:)

SO网友:Sterling Hamilton

您可以使用CSS:

#adminmenuwrap { display:none; }
或者可以使用Javascript隐藏每个元素。

目标#菜单媒体、#菜单链接等。

或者您可以这样做:

add_action( \'admin_menu\' , \'i_can_haz_no_menuz\' );
function i_can_haz_no_menuz() {
    global $menu;
    $menu = array();
}
请记住,其他插件可能会在这一点之后添加菜单。

SO网友:Vlad Ionescu

使用以下方法移除整个对象:

global $menu;
unset($menu);
希望这有帮助!

顺便说一句,管理菜单代码位于/wp admin/menu中。php,如果您想查看它并处理某些项目。

结束