Agregar columna personalizada al panel de administración de usuarios

28

Hay 5 columnas predeterminadas llamadas Nombre de usuario Nombre Correo electrónico Rol Publicaciones en USUARIOS. Ahora quiero agregar una columna más con su número de contacto.

¿¿Cómo puedo conseguir esto??

Aquí donde se muestra el cuadro negro

Rohil_PHPBeginner
fuente
¿Tienes configuración de número de teléfono? Quiero decir, ¿puede su usuario agregar números de teléfono en su perfil?
Robert hue
no .. Yo sólo quiero saber cómo agregar .. no es arreglar eso solamente un número .. su lata b sólo una columna en blanco también
Rohil_PHPBeginner
1
Si su sitio tenía muchas columnas personalizadas, podría estar interesado en un complemento llamado Columnas de administrador.
Brian
puedes ver este blog con una explicación detallada tekina.info/…
Aniket Singh

Respuestas:

43

Ok, aquí está el código para permitir a sus usuarios agregar números de teléfono. Pegue este código completo en el archivo functions.php. Esto agregará un nuevo campo en el perfil de usuario para "Número de teléfono" y agregará una tabla de usuario de columna en el administrador de WordPress para teléfono.

function new_contact_methods( $contactmethods ) {
    $contactmethods['phone'] = 'Phone Number';
    return $contactmethods;
}
add_filter( 'user_contactmethods', 'new_contact_methods', 10, 1 );


function new_modify_user_table( $column ) {
    $column['phone'] = 'Phone';
    return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );

function new_modify_user_table_row( $val, $column_name, $user_id ) {
    switch ($column_name) {
        case 'phone' :
            return get_the_author_meta( 'phone', $user_id );
        default:
    }
    return $val;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );

EDITAR

Para agregar dos columnas necesita hacer algunos cambios. Compara ambos códigos para entender.

function new_modify_user_table( $column ) {
    $column['phone'] = 'Phone';
    $column['xyz'] = 'XYZ';
    return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );

function new_modify_user_table_row( $val, $column_name, $user_id ) {
    switch ($column_name) {
        case 'phone' :
            return get_the_author_meta( 'phone', $user_id );
        case 'xyz' :
            return '';
        default:
    }
    return $val;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );
Robert hue
fuente
Use el código nuevamente. Lo cambié para que también pueda ver el campo del teléfono en la lista de usuarios.
Robert hue
¡Excelente! funcionó .. Pero al momento de agregar usuarios, ¿por qué no piden un número de teléfono?
Rohil_PHPBeginner
¿Puedes por favor explicar este código? Quiero agregar un campo más pero me muestra un error.
Rohil_PHPBeginner
2
Sugeriría que se agregue a un complemento específico del sitio, ya que no tiene nada que ver con la apariencia del tema.
helgatheviking
1
Finalmente $user = get_userdata( $user_id );y return $returnabsolutamente no son necesarios. La función $userno utiliza la variable y $returnno está definida, por lo que no devuelve nada.
LoicTheAztec