Usar campos personalizados de usuarios en el listado de usuarios en WordPress

He instalado un plugin en wordpress que permite insertar formularios de registro para los usuarios con campos personalizados (en mi caso, "Compañía" y "CIF")

La inserción de datos se realiza correctamente, pero quiero, además, mostrarlos en la sección de usuarios tal y como en la captura de pantalla que adjunto:

listado de usuarios

Para ello, estoy usando las siguientes funciones que añado al archivo functions.php:

function theme_add_user_company_column( $columns ) {

     $columns['company'] = __( 'Compañía', 'theme' );
     return $columns;
 } 
 add_filter( 'manage_users_columns', 'theme_add_user_company_column' );

Con este he creado la columna que se visualiza en Usuarios

function theme_show_user_company_data( $value, $column_name, $user_id ) {

     if( 'company' == $column_name ) {

         return get_user_meta($user_id , 'company', true );
     } // end if

 } // end theme_show_user_zip_code_data
 add_action( 'manage_users_custom_column', 'theme_show_user_company_data', 10, 3 );

Con este otro he llenado la columna con los registros que he introducido en el formulario.

El problema que tengo es que al intentar lo mismo para CIF me dejan de aparecer los datos de compañia. Solo puedo mostrar un tipo de dato cada vez y no se por que puede ser.

4
задан 06.03.2016, 20:47
1 ответ

Нет кода, который ты используешь, чтобы создавать колонну CIF. Понимая, что это точная копия того, которого ты используешь для колонны компании, я думаю, что проблема состоит в том, что ты добавляешь два раза действие manage_users_custom_column, с чем вторая "на - escribe" первая...

Я думаю, что ты нуждался бы в чем-то как:

function theme_show_user_custom_columns_data( $value, $column_name, $user_id ) {

  if ('company' == $column_name) {
    return get_user_meta($user_id, 'company', true );

  } elseif ('cif' == $column_name) {
    return get_user_meta($user_id, 'cif', true );
  }
}
add_action( 'manage_users_custom_column', 'theme_show_user_custom_columns_data', 10, 3 );

Так или иначе, уже давно как я не использую WordPress и он мог бы быть полностью неправильным :)

1
ответ дан 24.11.2019, 14:55