Die WordPress-Funktion remove_menu_page() gibt einen Fehler aus
Lesezeit: 3 Minuten
Matanya
Ich versuche, ein paar Top-Level-Menüs im WordPress-Admin-Panel zu entfernen. Seltsamerweise bekomme ich eine Fehlermeldung von der plugin.php Datei, wo die Funktion deklariert ist, sagen:
Invalid argument supplied for foreach() in C:\wamp\www\wordpress-alut\wp-admin\includes\plugin.php on line 1261
Ich ging zu der Datei und fand den folgenden Code:
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;
}
Es ist wichtig zu beachten, dass, wenn ich benutze remove_submenu_page()was die nächste Funktion in ist plugin.php, bekomme ich keinen solchen Fehler. Meine Funktion, befindet sich in functions.php:
Du rufst an mf_remove_menu_pages() Vor $menu ist tatsächlich eingerichtet, oder es scheint in Fällen, wenn $menu ist nie eingerichtet. Sie müssen auf die warten admin_menu auflegen, um tatsächlich anzurufen remove_menu_page(). Wenn Sie es tun admin_initdann verwenden Sie den falschen Haken, und deshalb bohrt es sich auf AJAX-Anforderungen
Sie müssen also Ihren Haken ändern. Bitte versuchen Sie es damit:
In neueren Versionen von WordPress, um einige Unterseiten zu entfernen, wie z theme-editor.php (oder Unterseiten, die durch das Jetpack-Plugin eingeführt werden) müssen Sie an die binden admin_menu Haken mit sehr hoher Priorität.
Zum Beispiel entfernen theme-editor.php Sie müssen eine Priorität von ungefähr festlegen 120. Für Jetpack-Seiten brauchen Sie etwas herum 2000.
brauchen sie
.php
Am Ende?– Nick Schwelidse
29. Januar 2012 um 10:34 Uhr