Căutați o modalitate de a restricționa accesul la elementele meniului în funcție de nume de utilizator? Deși probabil există un plugin pentru asta, am creat un fragment de cod rapid pe care îl puteți utiliza pentru a restricționa elementele meniului de administrare în funcție de nume de utilizator în WordPress.
Instrucțiuni:
Tot ce trebuie să faceți este să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:
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');
Notă: Dacă aceasta este prima dată când adăugați fragmente de cod în WordPress, consultați ghidul nostru despre cum să adăugați corect fragmente de cod în WordPress, pentru a nu vă defecta accidental site-ul.
Dacă ți-a plăcut acest fragment de cod, te rugăm să consulți și celelalte articole de pe site, cum ar fi: cele mai bune 27 de teme WordPress pentru afaceri pentru site-ul tău și cum să creezi un formular de donații WordPress.
Salut, ai o metodă de a ascunde un meniu specific al unui plugin și de a permite altele? Am nevoie să restricționez un utilizator (DB_manager) să poată gestiona doar plugin-ul Form Database și nimic altceva în panoul de administrare.
Mulțumesc, dar se pare că nu funcționează pentru tipurile de postări personalizate. Sugestii?
Am mai văzut asta. Destul de util, cu excepția faptului că nu pare să funcționeze cu meniuri care includ spații, cum ar fi:
__(‘Some Menu’)
Am încercat câteva caractere speciale diferite, cum ar fi underscore, spațiu non-rupere etc., dar nu pare să funcționeze. De asemenea, am ajustat prioritatea, dar se pare că această funcție nu recunoaște spațiile din array. Aveți idei?
Salut Bryan,
Ai putea dori să folosești această metodă
http://codex.wordpress.org/Function_Reference/remove_menu_page
Ai putea apoi să folosești „remove_menu_page” și „remove_submenu_page”
ai putea apoi să renunți la buclă, ceva de genul: http://pastebin.com/8ShwZ5rg
Nu am testat asta, dar ar trebui să funcționeze.
Acest fragment ascunde doar elementele de meniu de pe ecran, dar nu restricționează accesul prin URL.
există vreo modalitate de a elimina o funcție de administrare a unui plugin, în special eShop, din Dashboard-ul de administrare.
Această metodă ar putea funcționa mai bine pentru tine,
http://codex.wordpress.org/Function_Reference/remove_menu_page