Para mostrar la fecha de la última visita en WordPress de cada post en el back-end (en la lista de entradas del panel de administración), puedes hacerlo con un snippet personalizado. Esto requiere registrar y mostrar un campo personalizado que almacene la fecha de la última visita e incluso podrás hacer que sea ordenable. Si prefieres mostrar también la fecha global de la última visita en la barra superior, lee este otro artículo.
Resultado
Registrar la fecha de la última visita
Puedes usar un snippet para actualizar la fecha de la última visita cada vez que se carga un post en el front-end. Esto se guarda como un meta campo en la base de datos.
Añade el siguiente código al archivo functions.php
de tu tema o mediante un plugin de snippets:
function actualizar_ultima_visita($post_id) { if (is_single() && !is_admin()) { // Verificar si es una entrada y no en el backend update_post_meta($post_id, '_ultima_visita', current_time('mysql')); // Guardar la fecha actual } } add_action('wp', function() { if (is_singular('post')) { // Solo aplica para entradas actualizar_ultima_visita(get_the_ID()); } });
Mostrar la última visita en el listado de entradas
Añade una nueva columna en la lista de entradas del back-end para mostrar la fecha de la última visita.
function agregar_columna_ultima_visita($columns) { $columns['ultima_visita'] = 'Última Visita'; // Añadir una nueva columna return $columns; } add_filter('manage_posts_columns', 'agregar_columna_ultima_visita'); function mostrar_ultima_visita_columna($column, $post_id) { if ($column == 'ultima_visita') { $ultima_visita = get_post_meta($post_id, '_ultima_visita', true); // Obtener la fecha guardada echo $ultima_visita ? $ultima_visita : 'Nunca'; // Mostrar la fecha o "Nunca" si no hay datos } } add_action('manage_posts_custom_column', 'mostrar_ultima_visita_columna', 10, 2);
Hacer que la columna sea ordenable (opcional)
Si deseas que la columna sea ordenable en la interfaz, puedes hacer lo siguiente:
function hacer_columna_ultima_visita_ordenable($sortable_columns) { $sortable_columns['ultima_visita'] = '_ultima_visita'; return $sortable_columns; } add_filter('manage_edit-post_sortable_columns', 'hacer_columna_ultima_visita_ordenable'); function ordenar_por_ultima_visita($query) { if (!is_admin() || !$query->is_main_query()) { return; } if ('_ultima_visita' === $query->get('orderby')) { $query->set('meta_key', '_ultima_visita'); $query->set('orderby', 'meta_value'); } } add_action('pre_get_posts', 'ordenar_por_ultima_visita');