En anteriores posts veíamos cómo crear un formulario externo para usuarios colaboradores sin tener que acceder al Dashboard o panel de control de WordPress.
Ya que vamos a tener una página o sección exclusiva para colaboradores, lo lógico sería que sólo este tipo de rol tuviera acceso a esta página.
Usaremos este pequeño script situado al principio de nuestra página o template (ver post cómo crear un formulario externo para colaboradores) page-colaboradores.php:
<?php
$user = wp_get_current_user();
if(!empty($user) && !in_array("contributor", (array) $user->roles)){ ?>
<script>
alert('Esta zona es solo para colaboradores. Por favor, inicia sesión para acceder.');
location.href='http://www.mi-sitio.com/';
</script>"
<?php } ?>
Lo primero que hacemos es recoger (wp_get_current_user) las propiedades o características del usuario en cuestión y comprobamos si este tiene asignado el rol de colaborador (contributor).
De no ser así, redirigiremos mediante un simple script a la página principal del sitio web.
Este script serviría igualmente para comprobar cualquier otro rol, administrador (admin), autor (author), editor (editor), suscriptor (suscriber)…solo tenemos que cambiarlo en el if.
Si tenemos varias páginas exclusivas para un rol determinado, podríamos pegar este script en un archivo aparte (redigirir.php), y llamarlo al principio de cada una de las páginas o templates que solo sean accesibles a ese rol determinado:
<?php include('redirigir.php'); ?>