Ocultar barra de admin y la zona de administración a los usuarios suscriptores

Programación

Cuando tengo un usuario suscriptor, que puedo utilizar, por ejemplo, para enviarle boletines o darle acceso a alguna funcionalidad específica de mi página; puede ocurrir que no quiera que vean la barra de admin o que puedan acceder al wp-admin sino que lo que quiero es que se mantengan siempre en el front.

Muy sencillo. Para el tema de la barra de admin, podemos hacer algo como esto (en mi functions.php)

add_action('after_setup_theme', 'remove_admin_bar');

function remove_admin_bar() {
    if (!current_user_can('administrator') && !is_admin()) {
        show_admin_bar(false);
        remove_action('wp_footer', 'wp_admin_bar_render', 1000);
    }
}

Con respecto al tema de que no puedan entrar al admin, yo lo he solucionado así

add_action('admin_init', 'redirect_non_admin_users');

function redirect_non_admin_users() {
    if (!current_user_can('administrator') && strpos($_SERVER['REQUEST_URI'], 'wp-admin') !== false) {
        wp_redirect(home_url());
        exit;
    }
}

Comprueba si es no es administrador y estamos en una url tipo wp-admin y, si es así, me redirije a la home

Deja un comentario