Permitir acceso al usuario solo al Escritorio
Actualización: Este fragmento de código también elimina el menú para mi cuenta de administrador:
function remove_menu_items() {
global $menu;
global $user_ID;
if( $user_ID ) :
/* Acceso solo al Escritorio */
if( current_user_can( 'Dashboardvisitors' ) ) :
$restricted = array(
__('Entradas'),
__('Medios'),
__('Páginas'),
__('Enlaces'),
__('Apariencia'),
__('Herramientas'),
__('Usuarios'),
__('Ajustes'),
__('Comentarios'),
__('Plugins')
);
endif;
endif;
end ( $menu );
while ( prev( $menu ) ) :
$value = explode( ' ', $menu[key($menu)][0] );
if( in_array( $value[0] != NULL?$value[0]:"" , $restricted ) ) :
unset( $menu[key($menu)] );
endif;
endwhile;
}
add_action('admin_menu', 'remove_menu_items');
¿Cómo puedo darle a un usuario acceso solo al Escritorio?
Más específicamente, quiero que puedan ver el widget de estadísticas de WordPress y el widget de Google Analytics. Nada más.
He creado un nuevo usuario con el rol dashboardvisitors usando el plugin USER ROLE EDITOR.
Ahora nivel 0 más acceso de lectura no es suficiente. El Escritorio simplemente está vacío.
Agregar editar escritorio no cambia nada. Sigue sin mostrar nada (pero tampoco quiero que puedan editar el Escritorio).
¿Cómo puedo lograr esto? Es muy importante, ¡muchas gracias!

Puedes colocar esto en tu functions.php
:
function remove_menu_items() {
global $menu;
global $user_ID;
if( $user_ID ) :
/* Solo acceso al Dashboard */
if( current_user_can( 'dashboardvisitors' ) ) :
$restricted = array(
__('Entradas'), // Posts
__('Páginas'), // Pages
__('Enlaces'), // Links
[etc...]
);
endif;
endif;
end ( $menu );
while ( prev( $menu ) ) :
$value = explode( ' ', $menu[key($menu)][0] );
if( in_array( $value[0] != NULL?$value[0]:"" , $restricted ) ) :
unset( $menu[key($menu)] );
endif;
endwhile;
}
add_action('admin_menu', 'remove_menu_items');
Lo que hace es que para cada usuario con el rol 'dashboardvisitors' que accede al administrador de WP, elimina los elementos del menú listados en el array restricted
. Si listas todas las secciones del admin excepto el dashboard en ese array, deberías tener un administrador con acceso solo al dashboard.
