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.
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.
Grazie, ma non sembra funzionare per i tipi di post personalizzati. Suggerimenti?
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?
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.
Questo snippet nasconde solo le voci del menu dallo schermo ma non limita l'accesso tramite URL.
un modo per rimuovere una funzionalità di amministrazione di un plugin, in particolare eShop, dalla Dashboard di Amministrazione.
Questo metodo potrebbe funzionare meglio per te,
http://codex.wordpress.org/Function_Reference/remove_menu_page