Redirección de escritorio de WordPress por roles

A la hora de moldear el administrador de WordPress para mis clientes sigo la premisa de «cuanto menos mejor«. Y uno de esos ejemplos es el «Escritorio de WordPress», que viene con noticias, enlaces a las entradas, páginas, próximas Meetups, actividad etc. El usuario fácilmente puede distraerse y empezar a pinchar enlaces, inclusive accediendo a zonas del administrador a las que no tendría que acceder.

Solución

Implementa este código en tu tema/plugin, e indica el rol que quieres filtrar y a qué página quieres redireccionar. En el ejemplo indico que todos los usuarios con el rol de «Editor» cuando quieran acceder al escritorio, que sean redireccionados al listado de Páginas.

<?php
/**
 * Función para que un determinado rol de usuario
 * no pueda acceder al administrador de WordPress.
 *
 * @author  Mauricio Gelves <mg@maugelves.com>
 *
 */
function mg_dashboard_redirect(){
    
	// Obtengo el usuario actual
	$user = wp_get_current_user();
    
	// Pregunto por un rol específico
	if( in_array( 'editor', $user->roles ) ):
    
		// En caso que se encuentre en el array de roles lo redirecciono.
		// En este caso lo estoy enviado al listado de páginas.
		wp_redirect(admin_url('edit.php?post_type=page'));
		exit;
    
	endif;
    
}
add_action('load-index.php', 'mg_dashboard_redirect');

Actualización

Nuestro queridísimo amigo Fernan Díez ha hecho un upgrade del post con una gran idea: crear una página de inicio con documentación para el uso del administrador de WordPress.

escritorio de wordpress personalizado

<?php

/** 
* Como primer medida creamos un menú bajo "Herramientas"
*/
function docs_admin_menu() {
	add_management_page( 'Docs', 'Docs', 'manage_categories', 'docs', 'content_docs_admin_menu' );
}
add_action( 'admin_menu', 'docs_admin_menu' );

/**
* Aquí podemos crear nuestro HTML con la 
* documentación para los usuarios responsables de
* cargar el contenido en el administrador.
*/
function content_docs_admin_menu() {
	echo '<div class="wrap">';
	echo '<h1>Docs Section</h1>';
	echo '<h2>Lorem ipsum dolor sit amet</h2>';
	echo '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nec cursus magna.</p>';
	echo '<h2>Ut laoreet hendrerit dui</h2>';
	echo '<p>Sed nec ipsum scelerisque, pellentesque urna at, fermentum nisi.</p>';
	echo '<h3>Morbi vehicula quam quis lorem ultrices viverra</h3>';
	echo '<p>Integer massa ipsum, consectetur eu luctus non, venenatis et est.</p>';
    echo '<p><iframe width="560" height="315" src="https://www.youtube.com/embed/iJzUL79GaTo" frameborder="0" allowfullscreen></iframe></p>';
  	echo '</div>';
}

/**
* El código base para la redirección, pero apuntando
* a la nueva página creada.
*/
function mg_dashboard_redirect(){
    
	// Get the current user
	$user = wp_get_current_user();
    
	// Asking for Editor role
	if( in_array( 'editor', $user->roles ) ):
    
		// If Editor role exists then redirect
		wp_redirect(admin_url('tools.php?page=docs'));
		exit;
    
	endif;
    
}
add_action('load-index.php', 'mg_dashboard_redirect');

¿Qué te pareció el artículo?
No molaPobreMolaMuy bueno¡Excelente! (Ninguna valoración todavía)
Cargando…
Mauricio Gelves
Mauricio Gelves es Lic. en Informática y trabaja como Consultor Web Freelance con su marca personal MauGelves. Se especializó en WordPress para ofrecer soluciones personalizadas y rentables a medianas y largas empresas. Es Nómade Digital desde el año 2015, actividad que combina sus dos principales pasiones: la informática y los viajes, y refleja sus experiencias a través de sus hobbies audiovisuales en Instagram y YouTube.
10 Pasos para ser Freelance - eBook Gratuito

10 pasos para convertirte en Freelance

Descarga en forma totalmente gratuita mi eBook en donde explico los 10 pasos que he dado para convertirme en Freelance.

Ingresa tu email y recibe en tu bandeja de correo el enlace para descargarte el eBook.

(Te doy mi palabra que solo enviaré un email al mes con todas mis novedades)


4 thoughts on “Redirección de escritorio de WordPress por roles”

  1. ¡Muy buena idea!

    Y me acabas de dar otra.

    – Crear una sección en el administrador con recursos de ayuda propios y redirigir al usuario a esa sección para que siempre la tenga a mano .

    Si lo preparo, lo comparto por aquí 🙂

Deja un comentario

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

× ¿Puedo ayudarte?