X

Limita le voci del menu di amministrazione per nome utente

Snippet di IsItWP

Stai cercando un modo per limitare l'accesso alle voci del menu in base al nome utente? Sebbene esista probabilmente un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per limitare le voci del menu di amministrazione per nome utente in WordPress.

Istruzioni:

Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:

function remove_menus()
{
    global $menu;
    global $current_user;
    get_currentuserinfo();

    if($current_user->user_login == 'username')
    {
        $restricted = array(__('Posts'),
                            __('Media'),
                            __('Links'),
                            __('Pages'),
                            __('Comments'),
                            __('Appearance'),
                            __('Plugins'),
                            __('Users'),
                            __('Tools'),
                            __('Settings')
        );
        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');

Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come aggiungere correttamente snippet di codice in WordPress, in modo da non compromettere accidentalmente il tuo sito.

Se ti è piaciuto questo snippet di codice, prendi in considerazione la possibilità di consultare i nostri altri articoli sul sito come: 27 migliori temi WordPress per aziende per il tuo sito web e come creare un modulo di donazione WordPress.

Commenti   Lascia una risposta

  1. Ciao, hai un metodo per nascondere il menu di un plugin specifico e permettere altri? Ho bisogno di limitare un utente (DB_manager) a poter gestire solo il plugin Form Database e nient'altro nel pannello di amministrazione.

  2. Valeriu Vetiul 9 dicembre 2014 alle 5:18

    Grazie, ma non sembra funzionare per i tipi di post personalizzati. Suggerimenti?

  3. Visto prima. Abbastanza utile tranne che non sembra funzionare con menu che includono spazi come:
    __(‘Some Menu’)
    Ho provato alcuni caratteri speciali diversi come underscore, spazi non divisibili, ecc. ma non sembra funzionare. Ho anche regolato la priorità, ma sembra che questa funzione non riconosca gli spazi nell'array. Idee?

    1. Ciao Bryan,

      Potresti voler usare questo metodo
      http://codex.wordpress.org/Function_Reference/remove_menu_page
      Potresti quindi usare "remove_menu_page" e "remove_submenu_page"

      potresti quindi eliminare il while, qualcosa come: http://pastebin.com/8ShwZ5rg
      Non l'ho testato ma dovrebbe funzionare.

  4. Questo snippet nasconde solo le voci del menu dallo schermo ma non limita l'accesso tramite URL.

  5. un modo per rimuovere una funzionalità di amministrazione di un plugin, in particolare eShop, dalla Dashboard di Amministrazione.

    1. Questo metodo potrebbe funzionare meglio per te,
      http://codex.wordpress.org/Function_Reference/remove_menu_page

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!