Si queremos que los Suscriptores, Editores, Colaboradores, etc… no puedan acceder al panel de control de WP y restringirlo solo a los administradores podemos hacerlo de la siguiente manera.
Deberemos escribir en nuestro functions.php:
function restrict_admin_area_by_rol() { if ( ! current_user_can( 'manage_options' ) && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) { wp_redirect( site_url() ); exit; } } add_action( 'admin_init', 'restrict_admin_area_by_rol', 1 );
Como veis, dejamos habilitadas las funciones de AJAX ya que seguramente en nuestros temas/plugins necesitemos esta función.
Toda aquella petición que no sea Administrador, cuando intenten acceder al panel de control (nuestraweb.dot/wp-admin) será redirigida a la home.
Saludos!
[…] Es el caso perfecto de si queremos tener una web completamente privada, donde cada usuario precise de un login para poder acceder, para ocultar la barra superior de administración, esto nos viene perfecto, si queremos también evitar que el usuario pueda acceder a mano (escribiendo en el navegador http://nuestrositio.dot/wp-admin) podemos hacerlo como explico en este post: Restringir el backend de WordPress solo a los administradores […]
[…] que en los dos posts anteriores hemos hablado de restringir el acceso al administrador de WordPress solo a administradores y ocultar la barra de administración en el front-end de WordPress, ahora vamos a crear un sencillo […]