Cómo usar la clase WC_DateTime en WooCommerce
La clase WC_DateTime
de WooCommerce es una herramienta poderosa para manejar fechas y horas en proyectos relacionados con WooCommerce. Basada en la clase DateTime
de PHP, incluye funcionalidades adicionales específicas para el entorno WooCommerce.
En este artículo, exploraremos cómo inicializar la clase, realizar condicionales y formatear la salida de fechas con ejemplos prácticos.
Qué es la clase WC_DateTime
WC_DateTime
extiende la clase DateTime
nativa de PHP, añadiendo características como:
- Compatibilidad con zonas horarias específicas de WooCommerce.
- Métodos simplificados para formatear fechas.
- Manejo de conversiones entre UTC y la zona horaria configurada en WordPress.
Inicializar un objeto WC_DateTime
Para crear una instancia de WC_DateTime
, puedes usar varios formatos de inicialización. Aquí un ejemplo:
Realizar condicionales con WC_DateTime
Puedes comparar fechas utilizando operadores estándar ( <
, >
, ==
) o los métodos de comparación nativos.
Ejemplo: Comparar fechas
<?php $today = new WC_DateTime(); $eventDate = new WC_DateTime('2024-12-01 00:00:00'); // Condicional: Verificar si una fecha ya pasó if ($eventDate < $today) { echo "El evento ya pasó."; } elseif ($eventDate == $today) { echo "El evento es hoy."; } else { echo "El evento es en el futuro."; }
Imprimir y formatear fechas con WC_DateTime
La clase WC_DateTime
hereda el método format()
de PHP para personalizar la salida. Además, ofrece métodos adicionales como getTimestamp()
.
Ejemplo: Imprimir fechas formateadas
<?php $date = new WC_DateTime('2024-11-29 15:30:00'); // Formato personalizado echo $date->format('d/m/Y H:i'); // Salida: 29/11/2024 15:30 // Obtener timestamp UNIX echo $date->getTimestamp(); // Salida: 1732889400 // Convertir a la zona horaria de WordPress $date->setTimezone(wc_timezone_string()); echo $date->format('Y-m-d H:i:s'); // Formato adaptado a WordPress
Usos comunes de WC_DateTime en WooCommerce
La clase es útil para manejar fechas en diversas funcionalidades relacionadas con WooCommerce. Aquí algunos casos prácticos:
Ejemplo: Obtener la fecha de creación de un pedido
<?php $order = wc_get_order(123); // Reemplaza 123 con el ID de un pedido $orderDate = $order->get_date_created(); // Devuelve un objeto WC_DateTime echo $orderDate->format('d/m/Y H:i'); // Salida: Fecha de creación del pedido
Ejemplo: Verificar si una suscripción ha expirado
La clase WC_DateTime
es una herramienta flexible y esencial para manejar fechas y horas en WooCommerce. Gracias a su integración con la configuración de WordPress y WooCommerce, simplifica tareas como comparaciones de fechas, formateos y manejo de zonas horarias.
Si estás desarrollando funcionalidades personalizadas para WooCommerce, como plugins o temas, dominar WC_DateTime
te permitirá gestionar fechas de manera eficiente y profesional.
¿Tienes dudas o preguntas? ¡Déjalas en los comentarios!