Precarga!

Saludo según hora del día!

Esta publicación fue actualizada el 19 de junio de 2023.

Hace un par de días, me pidieron que pusiera un saludo de bienvenida. Tenía que ser un saludo según la hora del día: Bueno días, Buenas tardes y buenas noches.

Después de buscar en el repositorio de WordPress y no encontrar nada, decidí recurrir a PHP y de la mano de Woody code snippets logré lo que deseaban.

Luego de buscar por varios días, encontré la solución en el sitio web oficial de PHP y usando elseif:

<?php
$t = date("H");

if ($t < "10") {
  echo "Have a good morning!";
} elseif ($t < "20") {
  echo "Have a good day!";
} else {
  echo "Have a good night!";
}
?>

Traducimos el saludo al español y agregamos una imagen para enriquecer el saludo y ver algo así:

<?php
/* Acá puedes cambiar a tu zona horaria. Más info: https://www.php.net/manual/es/timezones.php */
date_default_timezone_set('America/Santiago');

/* Obtiene la hora actual en formato de 24 horas con ceros iniciales */
$t = date("H");

if ($t < 12) {
  echo "<img src='url-img/amanecer.png' width='20' height='20'> ¡Buenos días!";
} elseif ($t < 20) {
  echo "<img src='url-img/sol.png' width='20' height='20'> ¡Buenas tardes!";
} else {
  echo "<img src='url-img/luna.png' width='20' height='20'> ¡Buenas noches!";
}
/* 14.06.2023 Ajusté el formato de comparación en el condicional del if para no utilizar las comillas dobles alrededor de los números. */

?>

Seguido de esto instalamos el Plugin Woody code snippets.

Vamos a la opción Añadir Fragmento.
Fragmento PHP / Crear Elemento.

Haciendo pruebas descubrí que no se mostraba el saludo según la hora local, eso lo solucioné agregando la siguiente linea al principio del código:

date_default_timezone_set('America/Santiago');

Es importante señalar que, en Woody code snippets no debemos indicar la apertura y cierre de PHP por eso omitimos <?php y ?>, así que debemos indicar solo el siguiente código:

/*Acá puedes cambiar a tu zona horaria. Más info: https://www.php.net/manual/es/timezones.php */
date_default_timezone_set('America/Santiago');

/* Formato de 24 horas de una hora con ceros iniciales 00 hasta 23 */
$t = date("H");

if ($t < 12) {
  echo "<img src='url-img/amanecer.png' width='20' height='20'> ¡Buenos días!";
} elseif ($t < 20) {
  echo "<img src='url-img/sol.png' width='20' height='20'> ¡Buenas tardes!";
} else {
  echo "<img src='url-img/luna.png' width='20' height='20'> ¡Buenas noches!";
}

/* 14.06.2023 Ajusté el formato de comparación en el condicional del if para no utilizar las comillas dobles alrededor de los números. */
  1. Indicamos nombre del fragmento, en mi caso “Saludo”
  2. Agregamos el código sin <?php y sin ?>
  3. Seleccionamos la opción de ejecutar donde hay un shortcode.
  4. Publicamos el fragmento.
  5. Es el shortcode que debemos indicar en el widget donde deseamos mostrar el saludo.
>Apariencia / Personalizar / Widget y seleccionamos el widget donde pondremos nuestro shortcode y texto personalizado.
Si todo se hizo bien este será el resultado. Te dejo las imágenes por si te interesan.

Loading

Deja un comentario