WordPress muestra por defecto la fecha de publicación de cada entrada aunque lo reeditemos posteriormente con contenido más actual. Colocar la fecha de actualización en las entradas puede evitar una pérdida de posicionamiento, y conseguir que los usuarios elijan nuestro contenido frente a entradas más antiguas.

Cómo mostrar la fecha de actualización en las entradas
Existen varias formas de realizar este cambio para mostrar la fecha de actualización cuando hemos añadido y mejorado el contenido de una entrada.
- Añadir una acción en el archivo "funtions.php".
- Modificar los archivos del tema que estamos usando.
- Instalar un plugin del repositorio de WordPress.
Código para mostrar la fecha de actualización
Voy a centrarme en el archivo "funtions.php" y compartir varios fragmentos de código que he estado probando y buscando en internet.
Para utilizar estos códigos es aconsejable tener un tema hijo (Child Theme) o un complemento de funciones personalizadas para no perder los cambios con las actualizaciones periódicas de la web.
Tengo que decir al respecto que los fragmentos de código que encontraba en internet no terminaban de hacer lo que yo quería al aplicarlos en diferentes páginas webs.

La mayoría de esos códigos añadía una línea adicional indicando la fecha de actualización en las entradas, pero seguía mostrando la fecha de publicación o, peor aún, mostraba la fecha en inglés sin traducir.
¿Cómo, no puedo mostrar la fecha actualizada en mi idioma?
Lo que te cuento, dependiendo de donde cogiera el código, la fecha se mostraba en el idioma anglosajón o, si se traducía, no quedaba donde yo quería.

Perdonad si me enrollo, pero tardé varios días en dar con la solución, me aconsejaban crear un script que tradujera los meses o días de la semana, modificar archivos y otras cosas más complicadas que no llevaban a una solución factible.
Pero las cosas son siempre más sencillas de lo que parecen.
Accediendo a la información del codex que ofrece wordpress.org en su página oficial, encontré que las funciones que generan las fechas disponen de una variable de traducción según el idioma que tenemos seleccionado en los ajustes de WordPress.
Sustituir la fecha de publicación por la fecha de actualización
Con este código sustituimos la fecha de publicación y la remplazamos por la fecha de actualización de la entrada, si esta última es posterior a la de publicación.
Es necesario sustituir en el código el nombre del tema de ejemplo (Twenty_Twenty) por el nombre del tema que estamos utilizando. El nombre exacto lo podemos ver en la cabecera del archivo "style.css" del tema activo.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | /* Fecha de actualización en vez de publicación */ function ivw_last_modified_date_blog( $the_date ) { if ( 'post' === get_post_type() ) { $the_time = get_post_time( 'U' ); $the_modified = get_post_modified_time( 'U' ); if ($the_modified >= $the_time + 86400) { $last_modified = sprintf( __( 'Actualizado: %s', 'Twenty_Twenty' ), esc_html( get_post_modified_time( 'j \d\e F \d\e Y', '', '', true ) ) ); $date = $last_modified; } else { $actual_time = sprintf( __( 'Publicado: %s', 'Twenty_Twenty' ), esc_html( get_post_time( 'j \d\e F \d\e Y', '', '', true ) ) ); $date = $actual_time; } return $date; } } add_action( 'get_the_date', 'ivw_last_modified_date_blog' ); add_action( 'get_the_time', 'ivw_last_modified_date_blog' ); |
Mostrar fecha de publicación y fecha de actualización en los metadatos
Este es una modificación del código anterior, donde eliminamos la comparación de fechas y añadimos los dos valores seguidos en la línea de los metadatos.
Al igual que en el caso anterior, hay que cambiar el nombre del tema por el que estamos utilizando en nuestra web.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | /* Fecha de actualización y de publicación a la vez */ function ivw_last_modified_date_blog( $the_date ) { if ( 'post' === get_post_type() ) { $the_time = get_post_time( 'U' ); $the_modified = get_post_modified_time( 'U' ); $last_modified = sprintf( __( 'Actualizado: %s', 'Twenty_Twenty' ), esc_html( get_post_modified_time( 'j \d\e F \d\e Y', '', '', true ) ) ); $actual_time = sprintf( __( 'Publicado: %s', 'Twenty_Twenty' ), esc_html( get_post_time( 'j \d\e F \d\e Y', '', '', true ) ) ); $date = $actual_time . ' | ' . $last_modified; return $date; } } add_action( 'get_the_date', 'ivw_last_modified_date_blog' ); add_action( 'get_the_time', 'ivw_last_modified_date_blog' ); |
Añadir fecha de actualización después del título de la entrada
Esta opción permite añadir la fecha cuándo se ha actualizado el archivo justo antes de que aparezca el contenido y después del título o imagen de la entrada.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 | /* Fecha de actualización después del título de la entrada */ function ivw_last_modified_date_blog( $content ) { $u_time = get_post_time('U'); $u_modified_time = get_post_modified_time('U'); if ($u_modified_time >= $u_time + 86400) { $last_modified = get_post_modified_time( 'j \d\e F \d\e Y', '', '', true ); $date .= '<p class="last-updated">Actualizado: '. $last_modified .'</p>'; } $date .= $content; return $date; } add_filter( 'the_content', 'ivw_last_modified_date_blog' ); |
El texto con el que se presenta la fecha adopta las propiedades que tengamos asignadas a los párrafos. Para poder dar un poco más de relevancia, o diferenciarlo del resto de la entrada, tiene asignada una clase CSS que podemos utilizar desde la pestaña "CSS adicional" del personalizador de WordPress.
Como ejemplo añadiré un fondo de color, asignare una familia del tipo "sans-serif" y un par de sosillas más con el siguiente código que podéis modificar a gusto.

1 2 3 4 5 6 7 | .last-updated { font-family: sans-serif !important; font-size: small; text-transform: uppercase; background-color: #fffdd4; padding: 0 5px; } |
Tabla de caracteres para mostrar la fecha y la hora
En los códigos anteriores, la fecha se configura a travñes de una combinación de letras o caracteres que representan cada una de las partes de la fecha o el tiempo.
Algunos ejemplos que podemos utilizar y probar cómo quedan pueden ser estos:
j M, Y | 19 Mar, 2020 |
g:i a | 12:50 am |
l, j \d\e F, Y | Jueves, 19 de Marzo, 2020 |
d/m/Y \a \l\a\s g:i:s A | 19/03/2020 a las 12:50:48 AM |
d/m/Y | 19/03/2020 |
Y para que tengáis todas las posibilidades de combinación os dejo una tabla con todas las referencias:
Día del mes
d | - Numérico, con ceros iniciales | 01–31 |
j | - Numérico, sin ceros iniciales | 1–31 |
S | - El sufijo inglés para el día del mes | st, nd, rd o th, para 1st, 2nd, 3rd o 15th |
Día de la semana
l | - Nombre completo (letra «L» minúscula) | Domingo – Sábado |
D | - Las tres primeras letras del nombre | Lun – Dom |
Mes
m | - Numérico, con ceros iniciales | 01–12 |
n | - Numérico, sin ceros iniciales | 1–12 |
F | - Nombre completo | Enero – Diciembre |
M | - Las tres primeras letras del nombre | Ene – Dic |
Año
Y | - Numérico, 4 dígitos | Ej.: 1999, 2019 |
y | - Numérico, 2 dígitos | Ej.: 99, 19 |
Hora
a | - Minúscula | am, pm |
A | - Mayúscula | AM, PM |
g | - Hora, 12 horas, sin ceros iniciales | 1–12 |
h | - Hora, 12 horas, con ceros iniciales | 01–12 |
G | - Hora, 24 horas, sin ceros iniciales | 0-23 |
H | - Hora, 24 horas, con ceros iniciales | 00-23 |
i | - Minutos, con ceros iniciales | 00-59 |
s | - Segundos, con ceros iniciales | 00-59 |
Fecha y Hora completa
c | - ISO 8601 | 2019-12-23T19:57:21+00:00 |
Buscar el archivo que muestra la fecha de publicación
WordPress genera dos funciones específicas para mostrar las fechas de publicación y actualización de las entradas: "get_the_time" y "get_the_modified_date".
Los desarrolladores las utilizan para configurar los metadatos de la fecha y las integran según su criterio, que no suele ser el mismo en todos los programadores.
Aunque parece la más sencilla de realizar, puede ser una auténtica aventura localizar el archivo que contiene el código, ya que cada tema o Theme tiene una estructura diferente.
Considero que no es una solución a explicar porque habría tantas posibilidades como temas de WordPress existentes, y no existe un método común para todo el mundo.
En el caso de querer utilizar este proceso para mostrar la fecha de actualización en las entradas (y consigáis encontrar el archivo que contiene esa configuración en el tema que estáis utilizando), tendréis que sustituir la función de la fecha de publicación por la función de la fecha de actualización.
Hay que cambiar esto:

Por esto otro:

Mostrar fecha actualizada con un plugin
Podemos instalar un plugin para realizar el cambio de fecha, pero tendremos que conformarnos con las opciones que ofrece ese complemento, además de inyectar más código a nuestra web que podría no ser compatible con el resto de plugins o tema que estamos utilizando.
Os invito a que investiguéis por vuestra cuenta y probéis las opciones que ofrecen estos plugins, tal vez sea suficiente para algunos casos concretos.
Muchas gracias por el artículo y por las variedades para hacer el cambio. En mi caso la primera opción sirve a la perfección y también hace que la fecha de actualización aparezca en el snippet de los resultados de Google.
Muchas gracias!! me ha funcionado a la perfección el código de Sustituir la fecha de publicación por la fecha de actualización. Muy sencillo y fácil, es justo lo que estaba buscando!
Muchísimas gracias Juan!!
Como sabes, llevaba muchísimo tiempo intentando poner la fecha de actualización en castellano en mi web y no había manera, ya que hasta ahora no había ningún blog que diera una solución real a este problema.
Nunca pensé que una consulta mía en los comentarios de tu web te hiciera elaborar un artículo, te estoy muy agradecido.
Tengo un hijo que quiere montarse una web y sigue a youtubers famosos, expertos en elaborar webs, en SEO y en lo que se tercie. Siempre me dice que el tal RO....LD (quién lo lea que ponga las letras que faltan) es el mejor en esto y lo otro. Yo siempre le digo "si tienes una duda y le escribes un comentario, el R....LD no te hará ni caso, si la haces en ingresosviaweb tienes respuesta segura, para mí, eso es ser el mejor.
Gracias y un saludo!!
Emili
http://www.estudiodecompras.com
Muchas gracias por tu comentario Emili,
Siempre intento contestar a todos los mensajes y comentarios, aunque cada vez recibo más y tardo en poco en hacerlo.
No me considero un experto, pero si dentro de mis limitaciones y conocimientos puedo ayudar a resolver un problema, no me importa compartirlo con quien lo necesite.
Gracias a tí por ayudarme a tener en mi blog con contenido útil.