Pero, por defecto, WordPress solo muestra la fecha de publicación y el autor de la misma.
Si bien se puede acceder a los datos de la última modificación en el editor de publicaciones individuales (si está habilitado), puede ser difícil saber de un vistazo qué se actualizó, cuándo y por quién.
Código para crear una columna con la fecha de modificación de un contenido
Este fragmento de código muestra una nueva columna, ordenable, con la fecha de modificación en los listados de páginas, posts, medios y cualquier tipo de contenido del panel de administración de WordPress. También muestra el nombre de usuario que hizo la última actualización.
// Registrar columna de fecha de modificación para todos los tipos de contenido
function jrb_registro_columna_modificada( $columns ) {
$columns['Modificada'] = __( 'Modificada', 'show-modified-date-in-admin-lists' );
return $columns;
}
add_filter( 'manage_posts_columns', 'jrb_registro_columna_modificada' );
add_filter( 'manage_pages_columns', 'jrb_registro_columna_modificada' );
add_filter( 'manage_media_columns', 'jrb_registro_columna_modificada' );
function jrb_mostrar_columna_modificada( $column_name, $post_id ) {
switch ( $column_name ) {
case 'Modificada':
global $post;
echo '<p>'.get_the_modified_date( $format = 'd/m/Y' ).' a las '.get_the_modified_time().'<br />';
if ( !empty( get_the_modified_author() ) ) {
echo '<small>' . esc_html__( 'por', 'show-modified-date-in-admin-lists' ) . ' <strong>'.get_the_modified_author().'<strong></small>';
} else {
echo '<small>' . esc_html__( 'por', 'show-modified-date-in-admin-lists' ) . ' <strong>' . esc_html__( 'DESCONOCIDO', 'show-modified-date-in-admin-lists' ) . '<strong></small>';
}
echo '</p>';
break;
}
}
add_action( 'manage_posts_custom_column', 'jrb_mostrar_columna_modificada', 10, 2 );
add_action( 'manage_pages_custom_column', 'jrb_mostrar_columna_modificada', 10, 2 );
add_action( 'manage_media_custom_column', 'jrb_mostrar_columna_modificada', 10, 2 );
function jrb_registro_columna_modificada_ordenable( $columns ) {
$columns['Modificada'] = 'modificada';
return $columns;
}
// Hacer la columna ordenable
add_filter( 'manage_edit-post_sortable_columns', 'jrb_registro_columna_modificada_ordenable' );
add_filter( 'manage_edit-page_sortable_columns', 'jrb_registro_columna_modificada_ordenable' );
add_filter( 'manage_upload_sortable_columns', 'jrb_registro_columna_modificada_ordenable' );
Lenguaje del código: PHP (php)
Con la función jrb_registro_columna_modificada( $columns ) se registra la columna de fecha de última modificación del contenido.
Se crean los filtros correspondientes para publicaciones, páginas y medios. Con esto se cubre cualquier tipo de contenido.
Con la función jrb_mostrar_columna_modificada( $column_name, $post_id ) se establece el formato en el que se mostrará la información de la columna.
Al igual que con los filtros, las tres acciones establecidas sirven para todos los tipos de contenidos.
Sin embargo, a la hora de hacer ordenable la columna de fecha de modificación, tal como está el snippet solo se aplica a entradas, páginas y medios.
Si quieres hacer que la columna de fecha de modificación de tu contenido personalizado sea ordenable tienes que añadir el filtro correspondiente.
Para ello añade un filtro por cada tipo de contenido personalizado que tengas en tu sitio web, tal que así:
add_filter( 'manage_edit-TU_TIPO_DE_CONTENIDO_sortable_columns', 'jrb_registro_columna_modificada_ordenable' );
Lenguaje del código: PHP (php)
Sustituyendo TU_TIPO_DE_CONTENIDO por el slug de tu CPT.
¿Dónde pongo este fragmento de código?
Hay varias formas de agregar un snippet a tu instalación de WordPress:
- En un plugin de funcionalidades personalizado.
- En el archivo functions.php de tu tema hijo.
- A través de un plugin de gestión de fragmentos de código como Code Snippets o Advanced Scripts.
Si necesitas ayuda para ello, no dudes en ponerte en contacto conmigo.