Cómo comprobar si un usuario ha iniciado sesión en WordPress

¿Cómo comprobar si un usuario ha iniciado sesión en WordPress? TODO lo que necesitas saber en un sólo lugar, no te pierdas toda la información aquí. 

Si eres un desarrollador completo de WordPress o simplemente un propietario de un sitio web que utiliza fragmentos de código, comprobar si un usuario ha intentado iniciar sesión en WordPress es una función esencial que tendrás que utilizar tarde o temprano.

Comprobar el estado del usuario y desencadenar las acciones pertinentes es una práctica común y es utilizada por muchas funciones y plugins.

Este artículo te mostrará cómo comprobar si un usuario ha iniciado sesión en WordPress y cómo utilizarlo en los archivos functions.php y de plantilla.

Índice de contenidos
  1. Por qué comprobar si un usuario ha iniciado sesión en WordPress
  2. Cómo comprobar si un usuario está conectado
  3. Consideraciones finales ‼️

Por qué comprobar si un usuario ha iniciado sesión en WordPress

Como se ha mencionado anteriormente, validar si un usuario está conectado se utiliza en muchos escenarios. Además, es una de las funciones de WordPress más utilizadas, y por una buena razón.

Hay miles de motivos por las que necesitarás comprobar si un usuario ha iniciado sesión en WordPress o el estado del usuario. Aquí sólo hay algunos de los principales:

  • Muestra condicionalmente los enlaces de inicio de sesión/cierre de sesión en la cabecera de tu sitio web.
  • Utiliza los nombres de los usuarios conectados para saludarlos y darles la bienvenida.
  • Coloca los precios de WooCommerce sólo para los usuarios registrados.
  • Visualizar ciertas páginas, como la de mi cuenta, para los usuarios registrados.

Seguramente ya has entendido por qué es beneficioso comprobar si un usuario ha iniciado sesión en WordPress.

Tanto si quieres utilizarlo por uno de los motivos anteriores como por otro diferente, te mostraremos cómo saber si algún usuario ha intentado iniciar sesión en WordPress.

Cómo comprobar si un usuario está conectado

WordPress tiene una función integrada que puedes utilizar para determinar si un usuario está conectado o no.

is_user_logged_in()

También puedes usar Operador lógico de PHP para comprobar si un usuario NO está conectado (desconectado) añadiendo un signo de exclamación (¡!) a la izquierda de la función, así:

!is_user_logged_in()

Es una función simple porque no toma ninguna variable y devuelve verdadero si un usuario está conectado y falso si no has iniciado sesión.

A continuación, puedes ejecutar diferentes tipos de acciones en función del valor devuelto.

Por ejemplo, puedes optar por saludar a todos los usuarios conectados en WordPress inicio sesión con un Hola fan mensaje y solo Hola a todos los usuarios desconectados. Para ello, puedes utilizar la función is_user_logged_in() en nuestra función functions.php o archivos de plantilla.

Utiliza la función is_user_logged_in() en el archivo functions.php

WordPress utiliza hooks (como los anclajes) para simplificar la adición de contenido a determinadas partes de la página.

Por tanto, tendrás que añadir el mensaje al gancho deseado en función de dónde quieres que aparezca.

Si deseas que aparezca por encima de la cabecera, puedes utilizar la función init hooks.

Usando un FTP o desde tu panel de control de WordPress, navega a Apariencia -> Editor de archivos del tema y abre el functions.php del theme child.

Nota: haz una copia de seguridad de tu sitio web antes de editar los archivos del núcleo.

A continuación, desplázate hasta el final del archivo y pega esta función:

add_action(\'init\', \'greet_logged_in_users\');
function greet_logged_in_users() {
	if ( is_user_logged_in() ) {
		echo \'<p>Hello fan!</p>\';
	} else {
		echo \'<p>Hello</p>\';
  }
}

Una vez guardado, visita tu sitio web y asegúrate de que puedes ver el mensaje de los usuarios conectados. A continuación, cierra la sesión y comprueba que se muestra el mensaje alternativo.

Si prefieres comprobar si un usuario ha iniciado sesión en WordPress dentro de un archivo de plantilla, continúa con la siguiente sección.

Utilizar la función is_user_logged_in() en un archivo de plantilla PHP

La segunda forma de utilizar la función is_user_logged_in() para comprobar si el usuario está conectado es ejecutándola en un archivo de plantilla en lugar del archivo functions.php.

La ventaja de utilizar un archivo de plantilla es la opción de colocar la función en cualquier lugar de la página, independientemente de que haya un hooks al que puedas adjuntarla.

Tomemos el ejemplo anterior y mostremos un mensaje de saludo a los usuarios conectados utilizando uno de los archivos de plantilla del tema.

Como queremos mostrar el mensaje por encima de la cabecera, tendremos que modificar el archivo header.php archivo.

Por lo tanto, navega a Apariencia -> Editor de Archivos Temáticos y haz clic en el botón header.php de la barra lateral derecha.

A continuación, coloca el is_user_logged_in() en la posición que desees y guarda el archivo.

<?php
  if ( is_user_logged_in() ) {
    echo \'<p>Hello fan!</p>\';
  } else {
    echo \'<p>Hello</p>\';
  }
?>

Una vez guardado, visita tu sitio web y asegúrate de que se muestra el mensaje correcto en función del estado del usuario.

Consideraciones finales ‼️

Para terminar podemos decir, que el el is_user_logged_in() es una función por defecto de WordPress para comprobar si un usuario está conectado.

A través de este artículo te enseñamos a comprobar si un usuario ha iniciado sesión utilizando la función is_user_logged_in() función en diferentes escenarios y tipos de archivos.

Esperamos que te sea de utilidad nuestro post. Si tienes dudas o sugerencias, recuerda dejarnos un comentario e indícanos tu método preferido para realizar esta tarea.

¡Hasta la próxima!

Si quieres conocer otros artículos parecidos a Cómo comprobar si un usuario ha iniciado sesión en WordPress puedes visitar la categoría Ayuda y Soporte.

Deja una respuesta

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

Subir