Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
[Tutorial] Usar sesión de Wordpress para restringir contenido
#1
Hola compañeros de Skylium hoy les explicaré una manera fácil de utilizar la sesión o el sistema de usuarios que tiene wordpress en una página externa para poder controlar o restringir lo que un usuario puede ver dependiendo si ha iniciado sesión o no.

¿Para que nos puede servir ésto?
Imagina que has creado o quieres programar alguna función externa a Wordpress donde permitirás a un usuario realizar una acción o ver algún contenido pero no quieres que un invitado pueda acceder a ésta página; Solo por poner un ejemplo digamos que quieres mostrar un formulario de contacto/soporte técnico o mostrarle tu número de teléfono de contacto a tus clientes registrados.

A mi me sirvió para una galería de imágenes que programé donde los usuarios registrados en wordpress pueden subir sus imágenes y así me evité la tarea de crear un sistema de usuarios para controlar quien puede subir imágenes.


- ¿Cómo se hace?
¿Cómo saber si un usuario ha iniciado sesión en wordpress desde una página externa?
Primeramente vamos a hacer un include de los siguientes archivos:
(Si tu instalación de wordpress está en una carpeta (ejemplo /blog/) cambia /wp-load.php por /blog/wp-load.php
Código PHP:
<?php include $_SERVER['DOCUMENT_ROOT']."/wp-load.php"
global 
$user_identity$current_userget_currentuserinfo();
?>

Después sólo debemos comprobar si el visitante ha iniciado sesión con el siguiente código:
Código PHP:
<?php if ( is_user_logged_in() ) {

// Si el usuario ha iniciado sesión se mostrará lo que esté aquí dentro.

} else { 

// El usuario no ha iniciado sesión, puedes mostrar un mensaje "Para ver éste contenido debes iniciar sesión", junto con un enlace hacia la página de inicio de sesión de wordpress.

?>
Código:
https://codex.wordpress.org/Function_Reference/is_user_logged_in




Si queremos que no cualquier usuario registrado pueda acceder a ésta área y por ejemplo queremos que sólo los que tengan rango de "Author" puedan hacerlo, agregamos el siguiente código:
Código PHP:
if ((current_user_can('level_2'))){ 

// El usuario tiene rango de autor y puede ver lo que esté aquí

} else { 

// El usuario no tiene el rango suficiente para ver éste contenido


Referencia:
Código:
https://codex.wordpress.org/Roles_and_Capabilities




Para obtener los datos y/o mostrar quién es el usuario registrado, podemos utilizar el siguiente código:
Código PHP:
 echo 'Hola ' $current_user->display_name "\n";
 echo 
'Username: ' $current_user->user_login "\n";
 echo 
'User level: ' $current_user->user_level "\n"

Ésto mostrará algo como:
Hola John Doe
Username: Zedd
User level: 10

Código:
https://codex.wordpress.org/Function_Reference/get_currentuserinfo
 
Bueno como ven amigos ésto es algo bastante sencillo y simple pero que nos puede ser de utilidad si nos gusta programar al rededor de éste estupendo CMS como lo es Wordpress. Claro que puedes encontrar plugins que ya hagan todo el trabajo pero en lo personal me gusta mantener limpio y en control todo lo que pasa en mi sitio y ésto me ha servido bastante.

Espero que a alguno de ustedes también les sea de ayuda y si tienen alguna duda, pregunta, sugerencia o quieren agregar algo al tema pueden hacerlo con toda confianza.

Un cordial saludo a todos los usuarios y visitantes de Skylium Network, hasta la próxima y mucha suerte!  Interesante ¡Me gusta!
WWW
#2
Excelente tutorial sobre como restringir el contenido en wordspress, ya antes había visto otra opción, pero esta se me hace muy completa y de mayor seguridad, gracias por el aporte, saludos.
#3
Excelente aporte,  sin necesidad de plugins, y muy facil
[Imagen: cba745de401dd4ca4069d42828120f60o.png]
WWW
#4
wow, muchas gracias por compartir este post, sin duda alguna servirá mucho para controlar quien puede acceder a ciertas páginas donde el contenido no es para cualquier visitante   ¡Me gusta! 
WWW


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  [Aporte]Como crear un foro en wordpress Murcia1021 5 84 24-05-2018, 04:00 AM
Último mensaje: jlrcoff
  Foro en Wordpress Carlos Mendoza 14 327 15-05-2018, 07:02 PM
Último mensaje: Kenay Lorenzo
Pregunta [Duda] Página de Wordpress como subdominio Axelazo! 3 66 14-05-2018, 01:40 AM
Último mensaje: DarkMaster
Triste Solucionado: Problemas con temas de wordpress k0ke 16 326 28-04-2018, 08:45 PM
Último mensaje: angelismo
Guiño 3 Maneras de crear una red social con WordPress manuelxd1010 12 212 20-03-2018, 04:41 PM
Último mensaje: alieninc
Sonrisa TEMA WORDPRESS PELICULAS magoazul 3 83 01-03-2018, 09:39 PM
Último mensaje: jcifuentes
Guiño Templates/Plantillas Gratis para Wordpress Bycolor 4 121 22-01-2018, 01:20 AM
Último mensaje: angelismo
  [Duda] Restringir Ips por páginas piensaengrande 3 139 20-12-2017, 03:45 PM
Último mensaje: alieninc
  Tema WordPress ArtuGar 5 163 20-12-2017, 03:20 PM
Último mensaje: alieninc
  Enviar js a footer en wordpress Jvh_22 4 207 03-10-2017, 04:45 PM
Último mensaje: alieninc



Usuarios navegando en este tema: 1 invitado(s)