Wie entferne ich die gesamte linke Navigationsleiste im Admin für bestimmte Benutzer?

Ich weiß, wie man Elemente aus der linken admin_menu (hook in admin_menu und global $menu; unset( $menu[ __( "Posts" ) ] ); zum Beispiel). Aber es zeigt immer noch eine linke Navigationsleiste (mit nichts darauf). Ich möchte die gesamte linke Navigationsleiste verlassen.

Ich habe das versucht und es funktioniert nicht:

 //This doesn't work (in any hook, or plugin constructor) show_admin_bar(false); //This also doesn't work add_filter('show_admin_bar', '__return_false'); 

Was ist der Haken / die function, um dies zu tun?

Solutions Collecting From Web of "Wie entferne ich die gesamte linke Navigationsleiste im Admin für bestimmte Benutzer?"

Sie können das Output-Caching kreativ verwenden, um die Administrationsleiste zu erfassen und dann wie folgt zu vercasting:

 < ?php // this filter runs in menu-header.php L37 right before the admin menu is rendered add_filter( 'parent_file', function( $parent_file ){ ob_start(); return $parent_file; } ); // runs after the output add_action( 'in_admin_header', function(){ ob_clean(); // discard output echo '
'; } );

Bitte denken Sie nicht daran, dies in einer Produktionsumgebung zu verwenden. Es bietet keine Sicherheit und es kann verschiedene Dinge (zum Beispiel die Admin-Symbolleiste) brechen. Ich halte dies für eine lehrreiche Antwort auf das Problem “Wie PHP PHP-Output-Caching und WP-Filter verwenden, um Inhalte zu entfernen?”. Sie sind wahrscheinlich besser dran, nur mit CSS.

Wenn Sie unten in der Datei menu-header.php im Ordner wp-admin menu-header.php , sehen Sie, dass das Admin-Menü fest codiert ist. Es gibt keine Haken, mit denen Sie es deaktivieren könnten.

Ein weiteres Problem ist, dass das #wpcontent div einen linken Rand hat (abhängig von der Bildschirmgröße). Selbst wenn Sie den Admin-Menü-Code #wpcontent würden, wäre der normalerweise belegte Platz immer noch vorhanden.