• Ir a navegación principal
  • Ir al contenido principal
  • Ir a la barra lateral primaria
  • Ir al pie de página

Dani Sánchez - Gestionatuweb

Desarrollador web freelance - Dani Sánchez Gestionatuweb

  • ¿Eres agencia?
  • WordPress
    • Mantenimiento
    • Desarrollo
    • Soporte técnico
  • Cursos
  • Porfolio
  • Blog
  • Contacto
  • Solicita Presupuesto
Estás aquí: Inicio / Publicaciones / Permitir el acceso a una página según el rol del usuario (WordPress)

Publicaciones, Tutoriales, Wordpress / 16 de enero de 2018

Permitir el acceso a una página según el rol del usuario (WordPress)

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

Archivado en:Publicaciones, Tutoriales, Wordpress Etiquetado con:colaboradores, desarrollo web, páginas web, php, programación web, publicaciones, tutoriales, wordpress

Interacciones con los lectores

Este artículo puede contener código que podría no funcionar correctamente en tu versión de WordPress o causar incompatibilidad con tu plantilla o plugins. Úsalo bajo tu responsabilidad y haz siempre copia de tus archivos antes de modificarlos.

Deja una respuesta Cancelar la respuesta

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

  Acepto la política de privacidad

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral primaria

Daniel Sánchez

@danisanchez82
t.me/gestionatuweb

Buscar en la web

Contenidos del curso

  • Crear entradas desde un formulario externo en WordPress (sin plugins)
  • Ocultar la barra de admin a usuarios que no sean administradores
  • Impedir el acceso al Dashboard (wp-admin) a usuarios no administradores
  • Permitir el acceso a una página según el rol del usuario (WordPress)
  • Permitir a un usuario colaborador subir archivos desde el Frontend (WordPress)
  • Modificar la Biblioteca de Medios para que los usuarios solo vean sus propios archivos (WordPress)

Hosting de confianza

Footer

Buscar en la web

  • Inicio
  • Agencias
  • Mantenimiento WordPress
  • Desarrollo WordPress
  • Soporte técnico WordPress
  • Cursos
  • Portfolio
  • Blog
  • Contacto
  • Política de privacidad

Mis redes

  • Facebook
  • LinkedIn
  • Twitter
  • YouTube

© 2016–2021 Gestionatuweb · Programado con Genesis Framework · Iniciar sesión

Utilizo cookies para obtener datos estadísticos sobre el uso de mi sitio web y personalizar la publicidad (no intrusiva) del blog según tus intereses. En ningún caso estas cookies te identifican como persona, solo a tu dispositivo en la Red. Aceptando el uso de cookies me ayudarás a mantenener el blog gracias a la publicidad y podré mejorar la experiencia de uso gracias a la analítica web. Puedes navegar por mi sitio web sin que se instale ninguna de estas cookies, aunque este mensaje permanecerá visible en todo momento.AceptoPolítica de privacidad