Disabilitare la console wp-admin per gli iscritti
Non voglio che gli utenti con ruolo "subscriber" possano accedere tramite wp-admin.
Come suggerisci di fare questo?

Puoi rimuovere la capacità Read
. Questo impedirà ogni accesso a wp-admin.
function remove_read_wpse_93843(){
$role = get_role( 'subscriber' );
$role->remove_cap( 'read' );
}
add_action( 'admin_init', 'remove_read_wpse_93843' );
Vedi la nota nel Codex riguardo al fatto che questo codice va eseguito solo una volta.
Poi devi nascondere la barra di amministrazione.
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');
E probabilmente vorrai reindirizzare i login degli subscriber:
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 );
Altri tentativi di accesso a wp-admin
risulteranno in una schermata quasi bianca con il messaggio "Non hai i permessi sufficienti...".
Questa è una soluzione piuttosto essenziale ma penso che ti permetta di raggiungere l'obiettivo.

Grazie per la tua risposta. È esattamente quello che stavo cercando.

remove_cap()
funziona diversamente ora. Ristruttura il tuo codice seguendo uno degli esempi su questa pagina.
