wake-up-neo.net

Entfernen des Wordpress Plugin-Menüelements für einen bestimmten Benutzer

Ich möchte bestimmte Dashboard-Menüzeiten für einen bestimmten Benutzer entfernen. Dieses Menü besteht nun auch aus Plugin-Menüpunkten. Ein bestimmtes Plugin, das ich vor dem Benutzer verbergen möchte, ist Contact Form 7.

Hier ist der Code, der der Datei functions.php hinzugefügt wurde, um die Menüelemente auszublenden:

function remove_menus()
{
    global $menu;
    global $current_user;
    get_currentuserinfo();
    if($current_user->user_login == 'brian')
    {
        $restricted = array(__('Media'),
                            __('Links'),
                            __('Pages'),
                            __('Comments'),
                            __('Appearance'),
                            __('Plugins'),
                            __('Users'),
                            __('Tools'),
                            __('Settings'),
                    __('WPCF7')  //this does not work
        );
        end ($menu);
        while (prev($menu)){
            $value = explode(' ',$menu[key($menu)][0]);
            if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
        }// end while
    }// end if
}
add_action('admin_menu', 'remove_menus'); 

Jetzt ist alles, was im obigen Code aufgeführt ist, bis auf das Menü "Contact Form 7 Plugin" verborgen. Wie rufe ich den richtigen Plugin-Namen auf?

Vielen Dank

2
DextrousDave

Hier ist der Code, den Sie brauchen:

global $current_user;
get_currentuserinfo();

if ( $current_user->user_login === 'brian' )
     remove_action( 'admin_menu', 'wpcf7_admin_menu', 9 );

Oder wenn Sie Ihren eigenen Code behalten möchten, verwenden Sie Folgendes:

function remove_menus()
{
    global $menu;
    global $current_user;
    get_currentuserinfo();
    if($current_user->user_login == 'brian')
    {
        $restricted = array(__('Media'),
                            __('Links'),
                            __('Pages'),
                            __('Comments'),
                            __('Appearance'),
                            __('Plugins'),
                            __('Users'),
                            __('Tools'),
                            __('Settings'),
                    __('Contact')  //this does not work
        );
        end ($menu);
        while (prev($menu)){
            $value = explode(' ',$menu[key($menu)][0]);
            if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
        }// end while
    }// end if
}
add_action('admin_menu', 'remove_menus'); 

Ich habe WPCF7 in Kontakt im Array geändert.

3
user23654