Restringir a tu cliente el acceso al Escritorio

Cómo restringir a tu cliente el acceso al escritorio

En esta artículo vamos a ver cómo podemos restringir a tu cliente el acceso al escritorio para que no toque lo que no debe tocar. Esta restricción podemos llevarla a cabo mediante plugins o mediante código, te enseñaré cómo hacerlo de las dos formas, pero te aconsejo que lo hagas mediante código para no abusar de la instalación de plugins.

Restringir los menús del escritorio a las que dejar acceder

La forma más sencilla de habilitar o deshabilitar el acceso a ciertos menús del escritorio es utilizar un plugin. En este caso vamos a utilizar un plugin llamado Adminimize.

Adminimize te permite ocultar elementos innecesarios del menú de administración de WordPress, para todas las funciones instaladas (otros plugins, custom post types…). También puede ocultar cajas meta (cajas de información, por ejemplo la de bienvenida, actividad, borrador rápido, etc), tanto en en el área de edición de las páginas o post como en la interfaz en general para simplificarla. Es posible mostrar y ocultar los menús y su contenido dependiendo del rol de usuario.

restringir a tu cliente el acceso al escritorio

A continuación vamos a hacer lo mismo utilizando códigos

Vamos a ver cómo hacer lo mismo que puede hacer Adminimize, pero en esta ocasión utilizando código. La ventaja de utilizar código en lugar de plugins es que no fuerzas a WordPress a cargar códigos css o php extra que no sabes qué hacen o que esos plugins hacen ciertas cosas que no te interesan y por lo tanto cargan código extra que no necesitas.

Mi sonsejo es que todo aquello que sepas hacer con código lo hagas, además de que tu WordPress cargará más rápido, te habituarás a utilizar código siempre que puedas y aprenderás a hacer más cosas por código.

Todos estos códigos tienes que pegarlos en el archivo functions.php de tu tema activo.

Vamos con los códigos:

Eliminar las entradas del Escritorio (los CPT´S o Custom Post Types) si no eres Administrador

Con este código restringes el acceso a todos los menús del escritorio. Si quieres permitir el acceso a algún menú, sólo tienes que borrarlo de la línea que contiene ese ítem del menú, por ejemplo, si borras remove_menu_page(‘upload.php’); // Medios permitirás el acceso al menú Medios.

if (!current_user_can(‘manage_options’)) {

add_action( ‘admin_init’, ‘more_remove_menu_page’ );

function more_remove_menu_page() {
remove_menu_page(‘edit.php’); // Entradas
remove_menu_page(‘upload.php’); // Medios
remove_menu_page(‘link-manager.php’); // Enlaces
remove_menu_page(‘edit.php?post_type=page’); // Páginas
remove_menu_page(‘edit-comments.php’); // Comentarios
remove_menu_page(‘themes.php’); // Apariencia
remove_menu_page(‘plugins.php’); // Plugins
remove_menu_page(‘users.php’); // Usuarios
remove_menu_page(‘tools.php’); // Herramientas
remove_menu_page(‘options-general.php’); // Ajustes
remove_menu_page(‘profile.php’); // Perfil
}
}

Eliminar las cajas (metaboxes) del Escritorio

Ahora vamos a esconder las cajas que nos encontramos en el escritorio cuando entramos en la zona de administración. Si quieres mostrar alguna caja sólo tienes que comentar o eliminar esa línea. Por ejemplo, si comentas o borras remove_meta_box( ‘dashboard_welcome_panel’, ‘dashboard’, ‘normal’ ); mostrarás la caja Bienvenido.

function example_remove_dashboard_widgets() {
remove_meta_box( ‘dashboard_quick_press’, ‘dashboard’, ‘side’ );
remove_meta_box( ‘dashboard_recent_drafts’, ‘dashboard’, ‘side’ );
remove_meta_box( ‘dashboard_primary’, ‘dashboard’, ‘side’ );
remove_meta_box( ‘dashboard_secondary’, ‘dashboard’, ‘side’ );
remove_meta_box( ‘dashboard_incoming_links’, ‘dashboard’, ‘normal’ );
remove_meta_box( ‘dashboard_recent_comments’, ‘dashboard’, ‘normal’ );
remove_meta_box( ‘dashboard_right_now’, ‘dashboard’, ‘normal’ );
remove_meta_box( ‘dashboard_plugins’, ‘dashboard’, ‘normal’ );
remove_meta_box( ‘dashboard_browser_nag’, ‘dashboard’, ‘normal’ );
remove_meta_box( ‘dashboard_activity’, ‘dashboard’, ‘normal’ );
remove_meta_box( ‘dashboard_welcome_panel’, ‘dashboard’, ‘normal’ );
remove_action(‘welcome_panel’, ‘wp_welcome_panel’);
}

add_action(‘wp_dashboard_setup’, ‘example_remove_dashboard_widgets’ );

Cómo hacer que solo el Administrador pueda acceder al Escritorio

Este código es complementario a lo que estamos hablando, sirve para impedir que cualquier usuario (rol), que no sea administrador, pueda acceder a la zona de administración (al escritorio) de nuestro WordPress.

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 );

Impedir el acceso a elementos del Escritorio a cualquier usuario

El siguiente código es complementario al anterior, pero en este caso restringimos el acceso al escritorio a cualquier usuario. Como siempre, si quieres permitir el acceso a algún menú, sólo tienes que borrarlo de la línea que contiene el array con los ítems del menú, por ejemplo, si borras __(‘Media’), permitirás el acceso al menú Medios.

function remove_menus () {

global $menu;
$restricted = array(__(‘Dashboard’), __(‘Media’), __(‘Links’), __(‘Pages’), __(‘Appearance’),
__(‘Tools’), __(‘Users’), __(‘Settings’), __(‘Comments’),
__(‘Plugins’));
end ($menu);

while (prev($menu)){
$value = explode(‘ ‘,$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:»» ,
$restricted)){unset($menu[key($menu)]);}
}
}
add_action(‘admin_menu’, ‘remove_menus’);

Conclusión

Siempre que puedas utilizar un código para hacer algo concreto,  utilízalo, tu WordPress y Google te lo agradecerán.

¿Qué te ha parecido el artículo?. Házmelo saber en los comentarios que tienes más abajo. Estoy deseando leerte.

Por último, si crees que este artículo puede ser interesante para algún amigo tuyo, te agradecería enormemente que lo compartieras con él y con todo el mundo a través de las Redes Sociales.

Puntúa este artículo:
[Total: 0 - Promedio: 0]

Puede que también te interese...

Deja un comentario

Información básica sobre protección de datos
Responsable: Jose González Bueno.
Finalidad: Moderación y publicación de comentarios.
Destinatarios: No se comunican datos a terceros.
Derechos: Tienes derecho a acceder, rectificar, exportar y suprimir tus datos.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad de este sitio. *