Tabla de contenido
Otra vez más aquí. Esta vez voy a dejar colgado un artículo que viene a completar otro que publiqué hace ya un tiempo en esta página. En aquel mirábamos cómo añadir un widget en Wordpress que mostrase una lista con los últimos posts modificados, en la que se indicase la fecha en la que ocurrió esa modificación. Bueno, pues en este caso vamos a ver cómo podemos mostrar la fecha de modificación de un post en Wordpress.
Como todos los usuarios de Wordpress sabemos, la mayoría de los temas para este CMS sólo se muestran la fecha de creación de los artículos. Esto está bien, sin embargo puede ser que en algunos casos te pueda resultar interesante hacerles ver a tus lectores la fecha de la última actualización. En las siguientes líneas vamos a ver cómo mostrar la fecha de la actualización en las entradas de WordPress a través de código.
Dos opciones para mostrar la fecha de modificación de un post
Utilizando un Hook
Si no quieres complicarte la vida buscando la posición que te interese, como veremos en la segunda opción, la posibilidad más sencilla es utilizar un Hook llamado the_content. Este código lo podemos agregar al plugin de funciones, que si no tienes, deberías tener instalado en tu Wordpress. En caso de que no lo tengas, puedes agregar el siguiente código al archivo functions.php del child theme que estés utilizando. El código que debes usar es el siguiente:
function last_updated_entry( $content ) { if ( ! is_single() ) return $content; $custom_content = ''; $u_time = get_the_time('U'); $u_modified_time = get_the_modified_time('U'); if ($u_modified_time >= $u_time + 86400) { $updated_date = get_the_modified_time('j F, Y'); $updated_time = get_the_modified_time('h:i a'); $custom_content .= '<p class="last-updated">Última actualización: '. $updated_date . ' - '. $updated_time .'</p>'; } $custom_content .= $content; return $custom_content; } add_filter( 'the_content', 'last_updated_entry' );
En el código anterior el hook the_content hace referencia a la función last_updated_entry. Dentro de la función comprobamos primero si es una entrada con is_single. Si la respuesta es true, recuperamos la fecha de creación y fecha de modificación.
Después se comparan las fechas y en caso sean diferentes entonces formaremos la variable $custom_content. En la variable $custom_content se concatena la fecha y hora de actualización. Al final concatenamos $custom_content con la variable $content y devolvemos el resultado.
Al final obtendremos algo similar a la siguiente imagen:
Quiero decir que el color de las letras se los he dado con CSS3, pero eso ya es al gusto de cada uno.
Modificar el archivo de tu theme
Esta opción es quizás un poco más complicada, ya que requiere que conozcas los archivos de tu theme de Wordpress. Aquí vas a necesitar ubicar el archivo de tu theme donde quieras colocar el mensaje de última modificación. Para este ejemplo, yo lo voy a colocar en el archivo que muestra los posts, dentro de mi child theme.
El código a colocar es el siguiente:
if ( ! function_exists('show_update_entry') ){ function show_update_entry(){ if ( ! is_single() || function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ) return ''; $custom_content=''; $u_time = get_the_time('U'); $u_modified_time = get_the_modified_time('U'); if ($u_modified_time >= $u_time + 86400) { $updated_date = get_the_modified_time('j F, Y'); $updated_time = get_the_modified_time('h:i a'); $custom_content .= '<p class="last-updated">Última actualización: '. $updated_date . ' - '. $updated_time .'</p>'; } return $custom_content; } }
Este código es muy parecido al anterior, salvo que en este caso se comprueba que la función show_update_entry existe y vamos a a devolver directamente la variable $custom_content.
Si tienes un plugin de funciones, puedes colocar el anterior código dentro de este plugin. También lo puedes colocar dentro del archivo functions.php. Después debes ubicar el archivo que muestra los posts. En algunos themes de Wordpress sería single.php, pero como digo, esto varia según el theme que utilices.
Una vez que sepas dónde colocarlo, para utilizar la función anterior, solo habrá que imprimirla con una llamada como la siguiente:
<?php echo show_update_entry()?>
Con esto puedes ubicar el mensaje de la fecha de modificación en dónde mejor te parezca. Al final verás algo parecido a lo siguiente:
Como en la opción anterior, el color no es más que un CSS3 sencillo. Esto ya queda de la mano de cada cual.
En resumen, solo queda decir que como se puede ver no es necesario utilizar plugins para mostrar la última fecha de modificación de un post en Wordpress.
4 Comentarios
Muchas gracias. Me viene muy bien. Gracias x compartir
Gracias a ti por la visita y el comentario. Salu2.
Perfecto. Facil y funcional
Gracias a ti por comentar. Salu2.