Deshabilitar la consola wp-admin para los suscriptores

2

No quiero que los usuarios (rol: suscriptor) puedan iniciar sesión a través de wp-admin.

¿Cómo sugieres que haga esto?

    
pregunta Prakash Raman 29.03.2013 - 12:08

1 respuesta

8

Puede eliminar la capacidad Read . Eso evitará todo acceso a wp-admin.

function remove_read_wpse_93843(){   
  remove_cap( 'subscriber', 'read' );
}
add_action( 'admin_init', 'remove_read_wpse_93843' );

Vea la nota en el Codex sobre la necesidad de ejecutar esto una vez.

Luego necesitas ocultar la barra de administración.

function hide_admin_wpse_93843() {
  if (current_user_can('subscriber')) {
    add_filter('show_admin_bar','__return_false');
  }
}
add_action('wp_head','hide_admin_wpse_93843');

Y probablemente desee redirigir los inicios de sesión de suscriptores:

function redirect_sub_to_home_wpse_93843( $redirect_to, $request, $user ) {
    if ( isset($user->roles) && is_array( $user->roles ) ) {
      if ( in_array( 'subscriber', $user->roles ) ) {
          return home_url( );
      }   
    }
    return $redirect_to;
}
add_filter( 'login_redirect', 'redirect_sub_to_home_wpse_93843', 10, 3 );

Otros intentos de acceder a wp-admin resultarán en la pantalla casi blanca "No tiene suficientes permisos ...".

Eso es un tanto escueto, pero creo que te lleva allí.

    
respondido por el s_ha_dum 29.03.2013 - 15:11

Lea otras preguntas en las etiquetas