¿Quieres mostrar contenido en WordPress únicamente después de una fecha determinada? En este tutorial aprenderás a crear un shortcode personalizado que calcula los días restantes y muestra el contenido cuando la fecha objetivo ha llegado o pasado. Ideal para promociones, lanzamientos, campañas con cuenta regresiva y más.
¿Cómo funciona?
La función PHP calcula cuántos días faltan para una fecha específica y muestra un mensaje personalizado si aún no se ha alcanzado. Una vez pasada la fecha, el contenido entre el shortcode se muestra automáticamente.
Instrucciones
1. Pega el siguiente código en el archivo functions.php de tu tema hijo o utiliza un plugin de funciones personalizadas.
2. Usa el shortcode [cdt]…[/cdt] donde quieras condicionar el contenido.
// Shortcode para mostrar contenido después de una fecha específica
add_shortcode('cdt', 'content_countdown_shortcode');
function content_countdown_shortcode($atts, $content = null) {
$atts = shortcode_atts(array(
'month' => '',
'day' => '',
'year' => ''
), $atts, 'cdt');
$target = mktime(0, 0, 0, (int)$atts['month'], (int)$atts['day'], (int)$atts['year']);
$remain = ceil(($target - time()) / 86400);
if ($remain > 1) {
return '<div class="event">Solo faltan <b>' . esc_html($remain) . '</b> días para mostrar el contenido</div>';
} elseif ($remain == 1) {
return '<div class="event">Solo falta <b>1</b> día para mostrar el contenido</div>';
} else {
return do_shortcode($content);
}
}Ejemplo de uso del shortcode:
[cdt month="12" day="25" year="2025"]
¡Feliz Navidad! Este contenido solo se mostrará a partir del 25 de diciembre de 2025.
[/cdt]