Ocultar el panel de control para usuarios no administradores

21 may 2012, 08:04:30
Vistas: 25.7K
Votos: 8

¿Es posible ocultar el panel de control completamente para los usuarios que no son administradores y darles acceso únicamente a las páginas de Nueva entrada y edición de entradas? Gracias.

0
Todas las respuestas a la pregunta 4
0
18

En cuanto a la facilidad de uso, especialmente para administradores de WordPress no muy familiarizados con PHP, apoyo la recomendación del plugin de brasoflo (Adminimize).

Para ser exhaustivos, así es como se haría programáticamente:

/* Eliminar el "Escritorio" del menú de administración para usuarios no administradores */
function wpse52752_remove_dashboard () {
    global $current_user, $menu, $submenu;
    get_currentuserinfo();

    if( ! in_array( 'administrator', $current_user->roles ) ) {
        reset( $menu );
        $page = key( $menu );
        while( ( __( 'Dashboard' ) != $menu[$page][0] ) && next( $menu ) ) {
            $page = key( $menu );
        }
        if( __( 'Dashboard' ) == $menu[$page][0] ) {
            unset( $menu[$page] );
        }
        reset($menu);
        $page = key($menu);
        while ( ! $current_user->has_cap( $menu[$page][1] ) && next( $menu ) ) {
            $page = key( $menu );
        }
        if ( preg_match( '#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI'] ) &&
            ( 'index.php' != $menu[$page][2] ) ) {
                wp_redirect( get_option( 'siteurl' ) . '/wp-admin/edit.php');
        }
    }
}
add_action('admin_menu', 'wpse52752_remove_dashboard');
21 may 2012 14:39:33
1

Puedes usar el plugin Adminimize para hacer eso.

Es posible ocultar el Escritorio (y muchas otras cosas) según el rol de usuario. En caso de ocultar el Escritorio, puedes definir a qué página será redirigido el usuario.

No estoy seguro, pero creo que no puedes modificar los roles de usuario para bloquear el Escritorio (ya que incluso el rol más bajo tiene acceso a él).

Pero si combinas Adminimize con un plugin de Roles, puedes lograr una interfaz administrativa muy ajustada.

21 may 2012 13:56:22
Comentarios

@JohannesPille - no hay una sola instalación de WordPress que haya hecho que no ejecute Adminimize. Y no puedo elogiarlo lo suficiente :)

brasofilo brasofilo
21 may 2012 14:45:41
1

¡Esas 2 páginas también son parte del panel de control! Si estás dando acceso para editar publicaciones, significa que estás dando acceso a la lista de publicaciones. El rol con menos capacidades, el suscriptor, también tiene acceso a la página de perfil, ¡que también es parte del panel de control! Tu mejor opción sería un formulario de adición de publicaciones/edición de perfil en el front-end.

21 may 2012 08:14:17
Comentarios

Eso depende de cómo definas "panel de control", un término que es algo ambiguo, incluso en el contexto de WP. Puede referirse a todo el wp-admin, que parece ser cómo has interpretado la pregunta, o a la página superior del menú de administración. En este último caso, la página del menú puede ocultarse.

Johannes Pille Johannes Pille
21 may 2012 14:30:39
0

puedes usar un plugin llamado "User Role Editor"... No puedes evitar el panel de control para darles acceso a Nuevas entradas.. Pero puedes limitar su rol...

21 may 2012 10:47:49