Die WordPress-Funktion remove_menu_page() gibt einen Fehler aus
Lesezeit: 3 Minuten
Matanya
Ich versuche, ein paar Menüs der obersten Ebene im WordPress-Admin-Panel zu entfernen. Seltsamerweise erhalte ich eine Fehlermeldung aus der Datei plugin.php, in der die Funktion deklariert ist, die besagt: “Ungültiges Argument für foreach() in C:\wamp\www\wordpress-alut\wp-admin\includes\plugin.php in Zeile 1261 angegeben”. 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 bei Verwendung von remove_Untermenü_page(), das ist die nächste Funktion in plugin.php, erhalte 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