¿Cómo eliminar el acceso al panel de control para roles de usuario específicos?
Me gustaría evitar que ciertos roles de usuario accedan al panel de control http://www.openeye.net/wp-admin/ por completo. He movido y rediseñado los perfiles de usuario a una nueva página que se puede ver en el sitio. ¿Cómo podría hacer esto?

Para bloquear el acceso al área de administración a suscriptores y colaboradores:
function wpse23007_redirect(){
if( is_admin() && !defined('DOING_AJAX') && ( current_user_can('subscriber') || current_user_can('contributor') ) ){
wp_redirect(home_url());
exit;
}
}
add_action('init','wpse23007_redirect');
Espero que esto ayude. Todos los roles de usuario otorgan una capacidad que coincide con el nombre del rol, por lo que puedes utilizar cualquier nombre de rol como capacidad.

Excelente, sin embargo estoy obteniendo un error de sintaxis en la segunda línea.

Ah, vale, está relacionado con el paréntesis extra después de ('DOING_AJAX')

Oh, lo siento; eso fue intencional. Se suponía que había otro paréntesis de cierre al final. Lo he añadido a la respuesta.

¿Hay alguna razón por la que esto no funcione con el tema 2011 y el plugin de miembros?

Esto no parece funcionar en sitios de red, ¿alguna idea de por qué?

Parece funcionar para mí, en una instalación estándar de WordPress. Muchas gracias :-)

// Si el rol de usuario es Suscriptor, no puede iniciar sesión en el Panel de Control
function wpse23007_redirect()
{
if( is_admin() && !defined('DOING_AJAX') && current_user_can('subscriber') )
{
wp_logout();
wp_redirect(home_url());
exit;
}
}
add_action('init','wpse23007_redirect');

Sí, necesitarías usar la función current_user_can( $capability ). Aquí está la referencia oficial de WordPress: https://codex.wordpress.org/Function_Reference/current_user_can

add_action('init', function(){
$redirect = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : home_url( '/' );
$user = wp_get_current_user();
if ( !defined('DOING_AJAX') && in_array( 'subscriber', (array) $user->roles ) ) {
wp_redirect($redirect);
exit();
}
});
