✅Agregar Columnas Personalizadas y Ordenar Usuarios por Fecha de Registro | WordPress

WordPress, como plataforma versátil y ampliamente utilizada, ofrece diversas formas de personalizar la experiencia del usuario. En ocasiones, es necesario adaptar la visualización de la tabla de usuarios en el panel de administración para mostrar información específica de manera más clara y eficiente.

En este artículo, exploraremos un código personalizado que permite agregar una columna de «Fecha de Registro» a la tabla de usuarios de WordPress. Este proceso no solo mejora la interfaz de usuario para los administradores del sitio, sino que también facilita el seguimiento de la información esencial relacionada con los usuarios registrados.

En el video tutorial, además de explicarte como utilizar el código y donde insertarlo, explico como agregar columnas de campos personalizados del perfil de usuario. En este vídeo te explico como agregar campos personalizados al perfil de usuario de WordPress.

Cómo Funciona el Código:

El código proporcionado se compone de funciones de filtro que interactúan con la gestión de columnas de usuarios en el panel de administración de WordPress. Vamos a desglosar cada parte para entender su funcionalidad.

1. Agregar una Columna y Posiblemente Eliminar Predeterminadas:

La función modificar_tabla_usuarios se utiliza para modificar las columnas que se muestran en la tabla de usuarios. Puedes agregar nuevas columnas y, opcionalmente, eliminar algunas de las columnas predeterminadas. En este caso, se agrega la columna «Fecha de Registro».

add_filter( 'manage_users_columns', 'modificar_tabla_usuarios' );
function modificar_tabla_usuarios( $columnas ) {
    $columnas['registration_date'] = 'Fecha de Registro'; // Agregar nueva columna
    return $columnas;
}
Lenguaje del código: PHP (php)

Explicación:

  • add_filter('manage_users_columns', 'modificar_tabla_usuarios');: Este código añade un filtro a la acción de gestionar las columnas de usuarios en el panel de administración.
  • function modificar_tabla_usuarios( $columnas ) {: Define una función llamada modificar_tabla_usuarios que toma el array de columnas existentes como argumento.
  • $columnas['registration_date'] = 'Fecha de Registro';: Agrega una nueva columna llamada «Fecha de Registro» al array de columnas. Puedes personalizar el nombre de la columna según tus preferencias.
  • return $columnas;: Devuelve el array modificado de columnas, incluyendo la nueva columna.

2. Llenar la Nueva Columna con Fechas de Registro:

La función modificar_fila_tabla_usuarios se encarga de llenar la columna «Fecha de Registro» con la información correspondiente. Convierte la fecha de registro de cada usuario al formato deseado y la muestra en la celda respectiva.

add_filter( 'manage_users_custom_column', 'modificar_fila_tabla_usuarios', 10, 3 );
function modificar_fila_tabla_usuarios( $salida_fila, $columna_id_attr, $usuario ) {
    $formato_fecha = 'j M, Y H:i';
    switch ( $columna_id_attr ) {
        case 'registration_date' :
            return date( $formato_fecha, strtotime( get_the_author_meta( 'registered', $usuario ) ) );
            break;
        default:
    }
    return $salida_fila;
}
Lenguaje del código: PHP (php)

Explicación:

  • add_filter('manage_users_custom_column', 'modificar_fila_tabla_usuarios', 10, 3);: Este código añade un filtro para la acción de gestionar las columnas personalizadas de usuarios en el panel de administración.
  • function modificar_fila_tabla_usuarios( $salida_fila, $columna_id_attr, $usuario ) {: Define una función que se ejecuta cuando se necesita llenar una celda en la nueva columna.
  • $formato_fecha = 'j M, Y H:i';: Define el formato deseado para la fecha.
  • case 'registration_date' :: Comprueba si la columna a llenar es la «Fecha de Registro».
  • return date( $formato_fecha, strtotime( get_the_author_meta( 'registered', $usuario ) ) );: Obtiene la fecha de registro del usuario y la formatea según el formato definido.

3. Hacer la Columna «Fecha de Registro» Ordenable:

La función hacer_columna_registro_ordenable permite que la columna «Fecha de Registro» sea ordenable. Esto significa que los administradores pueden ordenar la tabla de usuarios según la fecha de registro.

add_filter( 'manage_users_sortable_columns', 'hacer_columna_registro_ordenable' );
function hacer_columna_registro_ordenable( $columnas ) {
    return wp_parse_args( array( 'registration_date' => 'registered' ), $columnas );
}
Lenguaje del código: PHP (php)

Explicación:

  • add_filter('manage_users_sortable_columns', 'hacer_columna_registro_ordenable');: Añade un filtro para la acción de gestionar las columnas ordenables de usuarios en el panel de administración.
  • function hacer_columna_registro_ordenable( $columnas ) {: Define una función que agrega la capacidad de ordenar por la columna «Fecha de Registro».
  • return wp_parse_args( array( 'registration_date' => 'registered' ), $columnas );: Establece la columna «Fecha de Registro» como ordenable. El segundo argumento indica la clave que se utilizará para ordenar, en este caso, la fecha de registro del usuario.

Código Completo:

El siguiente código tienes que agregarlo en el functions.php de tu tema hijo o utilizar un plugin como CODE SNIPPETS.

/*
 * Agregar una columna y, posiblemente, eliminar algunas de las predeterminadas
 * @param array $columnas Array de todas las columnas de la tabla de usuarios {ID de columna} => {Nombre de columna} 
 */
add_filter( 'manage_users_columns', 'modificar_tabla_usuarios' );
function modificar_tabla_usuarios( $columnas ) {
	
	// unset( $columnas['posts'] ); // tal vez desees eliminar columnas predeterminadas
	$columnas['registration_date'] = 'Fecha de Registro'; // agregar nueva columna
	return $columnas;
}
/*
 * Llenar nuestra nueva columna con las fechas de registro de los usuarios
 * @param string $salida_fila texto/HTML de la celda de una tabla
 * @param string $columna_id_attr ID de la columna
 * @param int $usuario ID de usuario (de hecho, ID de fila de la tabla)
 */
add_filter( 'manage_users_custom_column', 'modificar_fila_tabla_usuarios', 10, 3 );
function modificar_fila_tabla_usuarios( $salida_fila, $columna_id_attr, $usuario ) {
	
	$formato_fecha = 'j M, Y H:i';
	switch ( $columna_id_attr ) {
		case 'registration_date' :
			return date( $formato_fecha, strtotime( get_the_author_meta( 'registered', $usuario ) ) );
			break;
		default:
	}
	return $salida_fila;
}
/*
 * Hacer nuestra columna "Fecha de Registro" ordenable
 * @param array $columnas Array de todas las columnas ordenables de usuarios {ID de columna} => {parámetro GET de ordenación} 
 */
add_filter( 'manage_users_sortable_columns', 'hacer_columna_registro_ordenable' );
function hacer_columna_registro_ordenable( $columnas ) {
	return wp_parse_args( array( 'registration_date' => 'registered' ), $columnas );
}
Lenguaje del código: PHP (php)

Conclusión:

Personalizar la visualización de la tabla de usuarios en WordPress no solo proporciona un aspecto más ordenado y centrado en la información clave, sino que también facilita la administración del sitio. La adición de la columna «Fecha de Registro» y su capacidad para ordenarse mejoran la eficiencia y la experiencia del usuario para aquellos que gestionan un gran número de registros en sus sitios web.

Al incorporar este código personalizado, los administradores pueden acceder fácilmente a la información de registro de los usuarios, lo que puede ser especialmente valioso para sitios que requieren un seguimiento preciso de las fechas de registro. En última instancia, esta personalización contribuye a un flujo de trabajo más fluido y eficiente en el backend de WordPress.

Nos vemos en el siguiente tutorial.

Un saludo.

5/5 - (4 votos)
Compartir Artículo

Un comentario

  1. Fran Salas Master WP 1 año atrás

    Deja tus opiniones o dudas en los comentarios.

¿Tienes una duda o sugerencia sobre este artículo?

Puedes dejar un comentario de forma anónima, sin necesidad de registrarte ni proporcionar ningún dato personal. Tu mensaje se publicará como “Usuario Anónimo No Premium”, un perfil que agrupa a todos los visitantes no registrados.

Importante: para evitar el spam automático, todos los comentarios anónimos deben comenzar con el símbolo #. Ejemplo: # Tengo una duda sobre los shortcodes personalizados...

Este espacio está destinado exclusivamente a preguntas concretas, dudas o sugerencias relacionadas con el contenido del artículo. Por respeto a los demás lectores, no se publicarán temas sin relación.

Privacidad y normas:
  • No tienes que agregar tu nombre, correo ni ningún otro dato identificativo.
  • No se permiten enlaces en comentarios anónimos.
  • No se permiten símbolos especiales como < o > (menor y mayor que), ya que se consideran intentos de insertar código y serán bloqueados.
  • Todos los comentarios anónimos pasan por revisión antes de ser publicados y solo se aprobarán si aportan valor al contenido del artículo.
¿Quieres comentar con tu nombre y que tu mensaje se publique al instante? Inicia sesión o regístrate.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

0%