En un artículo anterior habíamos visto cómo crear un shortcode en WordPress, en este artículo veremos cómo aplicar esta funcionalidad para mostrar la fecha actual como parte del contenido o cualquier otra sección de tu sitio.
Resultado Final
Al final tendrás un shortcode que puedes usar en diferentes partes de tu sitio, tal como se ve en la siguiente imagen:

Código para la creación del shortcode
El shortcode que creamos tendrá el nombre de current_date, acepta un atributo llamado format que es opcional. Si el shortcode no tiene el atributo format, tomará por defecto la configuración de fecha de WordPress.
add_action( 'init', 'dcms_add_shortcode_date' );
function dcms_add_shortcode_date(){
add_shortcode('current_date', 'dcms_create_current_date');
}
function dcms_create_current_date( $atts, $content ){
$atts = shortcode_atts(
['format' => get_option('date_format')],
$atts, 'current_date');
$str = date_i18n($atts['format']);
return $str;
}
En el código anterior:
- Usamos el Hook init que hace referencia a la función dcms_add_shortcode_date()
- La función creará el shortcode llamado current_date y hará referencia a la función dcms_create_current_date()
- Dentro de esta función buscamos si tenemos el atributo format
- Por defecto será el formato de fecha de WordPress que obtenemos con la función get_option()
- Para recuperar la fecha actual localizada usamos la función date_i18n() con el formato como parámetro
- Finalmente devolvemos la cadena de fecha
Usos del shortcode
-
La forma básica
[current_date]
-
Formato día mes año
[current_date format="d-m-Y"]
-
Formato sólo año
[current_date format="Y"]
-
Formato con hora
[current_date format="d-m-Y h:i:s a"]
-
Formato con texto “de” escapado con \\
[current_date format="l d \\d\\e F \\d\\e\\l Y"]
Conclusión
Si necesitas por alguna razón mostrar la fecha completa o parte de la fecha en tu sitio web, puedes usar el shortcode y configurar el formato de acuerdo a tus necesidades.
¿Aún con dudas?, en el siguiente video se detalla el uso del shortcode.
Hola.
Que buen artículo y de ayuda. Gracias por compartirlo.
Unas consultas. ¿Hay alguna manera de centrar la fecha? ¿Se puede cambiar el color de la fecha o tipografía?
Agradezco tu amable respuesta.
Hola, lo que comentas son cambios CSS, depende de la estructura y estilos de tu theme, revisa el siguiente artículo de referencia: https://decodecms.com/usar-el-inspector-de-codigo-para-modificar-un-theme-wordpress/
Hola Jhon si quisiera el nombre del dia es muy dificil?
Hola, usa la letra “l” como formato, revisa: https://www.php.net/manual/es/function.date.php
Hola, siempre uso este artículo para usar la fecha y colocarlos en los leads que luego se guardan en un google sheet conectado por un zapier. El problema que cada vez que se actualiza la plantilla (Astra) se borra el código que coloqué en function.php y tengo que colocarlo de nuevo. ¿Hay otra forma de que no se borre? o instalando un plugin en especial?
Hola, puedes crear un tema hijo y usar su archivo functions.php, la otra opción es usar un plugin de Snippets, revisa este artículo: https://decodecms.com/agregar-codigo-a-tu-sitio-sin-usar-functions-php/
Una pregunta, si estoy usando ACF para la fecha, cómo puedo mostrar sólo el año, o sólo día o sólo el mes en la p{agina en este caso si estoy usando Elementor
Hola. Al momento de mostrar el campo de ACF puedes pasarle una función de formato, por ejemplo: https://www.w3schools.com/php/func_date_date_format.asp