Ausblenden von Admin-Menüelementen in WordPress

Lesezeit: 2 Minuten

Ich versuche, bestimmte Admin-Menüelemente in WordPress vor allen Benutzern außer einem (mich) zu verbergen.

Ich kann verschiedene Tutorials finden, aber sie verstecken sich meistens eher in Benutzerrollen als in Benutzern.

Ich habe das aus dem WordPress-Codex gefunden:

<?php 
function custom_menu_page_removing() {
    remove_menu_page( $menu_slug );
}
add_action( 'admin_menu', 'custom_menu_page_removing' );
?>

Aber ich verstehe es nicht ganz, und ich denke, ich muss noch etwas PHP hinzufügen, damit der Code im Wesentlichen sagt:

Wenn der Benutzer nicht [email protected] (ich!)

Entfernen Sie dann diese Menüpunkte:

ItemID 1, ItemID 2, ItemID 3, etc…

Kann jemand helfen?

Benutzer-Avatar
AfikDeri

Sie können die Benutzer-ID überprüfen:

// admin_init action works better than admin_menu in modern wordpress (at least v5+)
add_action( 'admin_init', 'my_remove_menu_pages' );
function my_remove_menu_pages() {


  global $user_ID;

  if ( $user_ID != 1 ) { //your user id

   remove_menu_page('edit.php'); // Posts
   remove_menu_page('upload.php'); // Media
   remove_menu_page('link-manager.php'); // Links
   remove_menu_page('edit-comments.php'); // Comments
   remove_menu_page('edit.php?post_type=page'); // Pages
   remove_menu_page('plugins.php'); // Plugins
   remove_menu_page('themes.php'); // Appearance
   remove_menu_page('users.php'); // Users
   remove_menu_page('tools.php'); // Tools
   remove_menu_page('options-general.php'); // Settings
  }
}

  • Großartig: admin_menu funktioniert in der aktuellen wp-Version nicht, während admin_init perfekt funktioniert

    – Luca Reghellin

    11. Januar um 10:02 Uhr

Sie können das Posts-Menü für eine bestimmte E-Mail entfernen mit:

function custom_menu_page_removing() {
    if ( get_currentuserinfo()->user_email != '[email protected]' )
        remove_menu_page( 'edit.php' );
}
add_action( 'admin_menu', 'custom_menu_page_removing' );

Es hindert Benutzer nicht daran, entfernte Seiten zu verwenden, wenn sie die richtige URL erraten können, z. B. /wp-admin/edit.php

Benutzer-Avatar
Naveen Giri

Sie können diesen Code ausprobieren.

function remove_menus(){
     $current_user = wp_get_current_user();
    if( '[email protected]' !==  $current_user->user_email){
        remove_menu_page( 'item1' ); 
        remove_menu_page( 'item2' ); 
    }

}
add_action( 'admin_menu', 'remove_menus' );

item1, item2 ist beispielsweise Ihr Seitenname
http://test.com/wp-admin/admin.php?page=item1
http://test.com/wp-admin/admin.php?page=item2

  • Das ist perfekt, danke 🙂 Wenn ich einen zweiten Benutzer außer mir selbst hinzufügen möchte, wie würde ich das hinzufügen? Ich habe versucht hinzuzufügen: . “Neue E-Mail” nach meiner, aber es hat nicht funktioniert … Ist das so ein einfaches Add-on?

    – Shaun Taylor

    21. März 2017 um 17:45 Uhr

  • Funktion remove_menus(){ $aktueller_Benutzer = wp_get_aktueller_Benutzer(); if( in_array( $aktueller_Benutzer->Benutzer_E-Mail, array(‘[email protected]’,’[email protected]’,)) ){ remove_menu_page( ‘item1’ ); remove_menu_page( ‘item2’ ); } } add_action( ‘admin_menu’, ‘remove_menus’ ); Verwenden Sie es so für mehrere Benutzer

    – Naveen Giri

    13. April 2017 um 10:00 Uhr

  • Sie können dieses Plugin verwenden. wordpress.org/plugins/hide-admin-menu

    – Bhavin Thummar

    3. Januar 2019 um 6:20 Uhr

1384740cookie-checkAusblenden von Admin-Menüelementen in WordPress

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy