wordpress function remove_menu_page() throws an error

Я пытаюсь удалить несколько меню верхнего уровня в админпанели wordpress. Как ни странно, я получаю сообщение об ошибке из файла plugin.php, где объявлена функция, говорящее: "Invalid argument supplied for foreach() in C:\wamp\www\wordpress-alut\wp-admin\includes\plugin.php on line 1261". Я зашел в файл и нашел следующий код:

function remove_menu_page( $menu_slug ) {
    global $menu;

    foreach ( $menu as $i => $item ) { // **this is line 1261**
        if ( $menu_slug == $item[2] ) {
            unset( $menu[$i] );
            return $item;
        }
    }

    return false;
}

Важно отметить, что когда я использую remove_submenu_page(), которая является следующей функцией в plugin.php, я не получаю такой ошибки. моя функция, расположенная в functions.php :

add_action( 'admin_init', 'mf_remove_menu_pages' );
function mf_remove_menu_pages() {
    remove_menu_page('link-manager.php');
    remove_menu_page('index.php');
    remove_menu_page('users.php');
    remove_menu_page('upload.php');
    remove_menu_page('tools.php');
    remove_menu_page('edit.php');
    remove_menu_page('edit-comments.php');
    remove_menu_page('post-new.php');
    remove_submenu_page('themes.php','themes.php');
    remove_submenu_page('themes.php','theme-editor.php');
    remove_submenu_page('themes.php','widgets.php');
}; 
9
задан Matanya 29 January 2012 в 10:26
поделиться