En este artículo te explicamos de qué forma puedes cambiar mediante códigos personalizados el listado de usuarios en el panel de administración de WordPress.
Para ello vamos a trabajar a partir de una función sencilla que incluiremos en un tema o en un plugin personalizado y a partir de ella podrás ver cómo desarrollar los cambios que quieras incluir en tu plataforma.
Comenzaremos con un código básico que nos permitirá mostrar en una nueva columna el ID del usuario en el listado, una característica que de momento el panel de administración de WordPress no incluye por defecto.
Modificar el listado de usuarios en el panel de administración de wordpress – Base
Además vamos a eliminar la columna que indica el número de entradas de cada usuario, de forma que se oculte para ganar espacio y poder dejar hueco a la nueva columna con el ID.
Eliminar una columna del listado de usuarios en el panel de administración
Lo primero que vamos a hacer es eliminar una de las columnas del listado de usuarios en el panel de WordPress. Para ello dentro de tu plugin o tema debes incluir la siguiente función básica que te permitirá modificar el código de WordPress y enlazar con un Hook a la programación del núcleo.
Código para eliminar una columna del listado de usuarios en el panel de administración
function wph_admin_user_columns($columns) {
unset($columns['posts']);
return $columns;
}
add_filter('manage_users_columns', 'wph_admin_user_columns', 10, 3);
function wph_admin_user_columns($columns) {
unset($columns['posts']); return $columns;
}
add_filter('manage_users_columns', 'wph_admin_user_columns', 10, 3);
Cómo ves en el código enlazamos con el núcleo de WordPress a través del Hook ‘manage_users_columns’. En la función wph_admin_user_columns se incluye el parámetro $columns que permite acceder a un array en el que se incluyen todas las columnas que están configuradas en el panel de administración.
Para encontrar el ID de la columna que quieres eliminar simplemente inspecciona el HTML del elemento y utiliza el ID de la etiqueta que lo contiene. En nuestro caso eliminaremos la columna Entradas que tiene el ID ‘posts’ a través del código unset($columns[‘posts’]);
Modificar el listado de usuarios en el panel de administración de wordpress – Seleccionar ID de la columna
Si todo ha ido bien deberías dejar de ver la columna de Entradas en tu Panel de administración de usuarios de WordPress.
Añadir una columna a la lista de usuarios en el panel de WordPress
Ahora añadiremos una columna más, la del ID correspondiente a cada usuario. Esta columna es muy útil cuando te dedica a labores de programación a medida para poder acceder a un dato clave en muchos códigos que de otra forma te llevaría a buscarlo en otras partes del panel más ocultas o directamente en la base de datos.
Para ello utilizamos la siguiente función que nos ayudará a integrar el código dentro de nuestra instalación WordPress.
Código para añadir una columna al listado de usuarios en el panel de WordPress
function wph_admin_user_columns($columns) {
unset($columns['posts']);
$columns['wpsite-show-ids'] = 'ID';
return $columns;
}
add_filter('manage_users_columns', 'wph_admin_user_columns', 10, 3);
function wph_admin_users_custom_columns($value, $column_id, $user_id) {
if ($column_id == 'wpsite-show-ids'){
return $user_id;
}
return $value;
}
add_action('manage_users_custom_column', 'wph_admin_users_custom_columns', 10, 2);
function wph_admin_user_columns($columns) {
unset($columns['posts']);
$columns['wpsite-show-ids'] = 'ID';
return $columns;
}
add_filter('manage_users_columns', 'wph_admin_user_columns', 10, 3);
function wph_admin_users_custom_columns($value, $column_id, $user_id) {
if ($column_id == 'wpsite-show-ids'){
return $user_id;
}
return $value;
}
add_action('manage_users_custom_column', 'wph_admin_users_custom_columns', 10, 2);
Como ves ahora hemos modificado la función wph_admin_user_columns para, además de eliminar la columna Entradas conseguir crear una nueva columna para los IDs de los usuarios con el id wpsite-show-ids.
Empleamos el hook manage_users_custom_column que nos enlaza con WordPress y en la segunda función rellenamos los campos de esta columna con el id de usuario correspondiente que ya nos entrega la función en sus parámetros.
La nueva columna aparecerá al final del listado y podremos encontrar el ID asociado a cada uno de los usuarios de la lista. De esta forma podremos consultar fácilmente el ID de cada usuario en su misma fila.
Ordenar las columnas del listado de usuarios en el panel de WordPress
Imagínate ahora que queremos organizar el orden de nuestras columnas. Nos resulta más útil que la columna de ID esté junto al nombre del usuario y no al final de toda la tabla.
Para ello deberás ejecutar el siguiente código en tu instalación:
Código para ordenar las columnas del listado de usuarios en el panel de WordPress
function wph_admin_user_columns_order($columns) {
$n_columns = [];
$move = 'wpsite-show-ids';
$before = 'name';
foreach($columns as $key => $value) {
if ($key == $before){
$n_columns[$move] = $move;
}
$n_columns[$key] = $value;
}
return $n_columns;
}
add_filter('manage_users_columns', 'wph_admin_user_columns_order', 10, 3);
function wph_admin_user_columns_order($columns) {
$n_columns = [];
$move = 'wpsite-show-ids';
$before = 'name';
foreach($columns as $key => $value) {
if ($key == $before){
$n_columns[$move] = $move;
}
$n_columns[$key] = $value;
}
return $n_columns;
}
add_filter('manage_users_columns', 'wph_admin_user_columns_order', 10, 3);
Como ves en el código se utiliza un loop foreach para ir iterando cada columna y cuando llegamos a la columna antes de la que queremos incluir nuestra nueva columna modificamos el contenido del array.