Mostrar menu limitado para admin

Estou usando o mais recente wordpress 3.2.1. Gostaria de deixar criar um novo administrador para fazer SOMENTE: 1) Gerencie a ordem para alterar o status do pedido (por exemplo, aprovar … rejeitar). 2) Capaz de visualizar o usuário apenas sem a possibilidade de editar ou excluir. 3) Aceite notificação por e-mail sobre novo usuário registrado e nova ordem.

Isso significaria que, quando este novo login de administrador, ele é capaz de visualizar apenas esses 3 menus e todo o outro menu será invisível. Alguém pode conselhos? Eu tentei muitos, como Adminimize, Admin Menu Editor, hide-admin-panels … Mas todos don funciona, pois é uma function baseada em vez de baseada no usuário.

Devo criar um novo admin para esses resources acima? Ou devo criar um editor vez disso? Em seguida, altere o menu para o editor … Preciso do seu conselho. obrigado

Solutions Collecting From Web of "Mostrar menu limitado para admin"

você pode criar uma nova function e definir as postagens de gerenciamento para que ele possa aprovar / rejeitar postagens, então você pode remover os resources do menu como quiser com esta function:

 function remove_menus () { global $menu; $user = wp_get_current_user(); if ($user->ID == 2) { // change user ID, $restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins')); end ($menu); while (prev($menu)){ $value = explode(' ',$menu[key($menu)][0]); if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);} } } } add_action('admin_menu', 'remove_menus'); 

e para ele receber notifications por e-mail sobre o novo usuário registrado, você pode replace a function wp_new_user_notification() :

 if ( !function_exists('wp_new_user_notification') ) { function wp_new_user_notification($user_id, $plaintext_pass = '') { $user = new WP_User($user_id); $user_login = stripslashes($user->user_login); $user_email = stripslashes($user->user_email); // The blogname option is escaped with esc_html on the way into the database in sanitize_option // we want to reverse this for the plain text arena of emails. $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES); $message = sprintf(__('New user registration on your blog %s:'), $blogname) . "\r\n\r\n"; $message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n"; $message .= sprintf(__('E-mail: %s'), $user_email) . "\r\n"; //email admin @wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), $blogname), $message); //email new editor @wp_mail('USER_EMAIL_HERE', sprintf(__('[%s] New User Registration'), $blogname), $message); if ( empty($plaintext_pass) ) return; $message = sprintf(__('Username: %s'), $user_login) . "\r\n"; $message .= sprintf(__('Password: %s'), $plaintext_pass) . "\r\n"; $message .= wp_login_url() . "\r\n"; wp_mail($user_email, sprintf(__('[%s] Your username and password'), $blogname), $message); } } 

mude USER_EMAIL_HERE para o seu email