Как отобразить несколько пользовательских столбцов в wp-admin users.php?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/5991

  •  16-10-2019
  •  | 
  •  

Вопрос

Я использую Manage_users_columns для отображения пользовательского поля, которое я создаю в базе данных UserMeta под названием Company. Мой код заключается в следующем:

function mysite_column_company( $defaults ) {
 $defaults['mysite-usercolumn-company'] = __('Company', 'user-column');
  return $defaults;
 }
 function mysite_custom_column_company($value, $column_name, $id) {
  if( $column_name == 'mysite-usercolumn-company' ) {
        return get_usermeta($id, 'company');
  }
 }

add_action('manage_users_custom_column', 'mysite_custom_column_company', 15, 3);
add_filter('manage_users_columns', 'mysite_column_company', 15, 1);

Я хотел бы отобразить два других пользовательских полей, но не могу выяснить правильную функцию. Дублирование этого не работает, и мне не повезло, добавляя новые функции в этом для каждого уникального столбца, в основном потому, что я не могу понять, как правильно определить переменную $ defaults. Какие-либо предложения?

Это было полезно?

Решение

Хумм ... ты имеешь в виду что -то вроде этого:

function mysite_column_company( $defaults ) {
    $defaults['mysite-usercolumn-company'] = __('Company', 'user-column');
    $defaults['mysite-usercolumn-otherfield1'] = __('Other field 1', 'user-column');
    $defaults['mysite-usercolumn-otherfield2'] = __('Other field 2', 'user-column');
    return $defaults;
}
function mysite_custom_column_company($value, $column_name, $id) {
    if( $column_name == 'mysite-usercolumn-company' ) {
        return get_the_author_meta( 'company', $id );
    }
    elseif( $column_name == 'mysite-usercolumn-otherfield1' ) {
        return get_the_author_meta( 'otherfield1', $id );
    }
    elseif( $column_name == 'mysite-usercolumn-otherfield2' ) {
        return get_the_author_meta( 'otherfield2', $id );
    }
}

Кстати, вы должны использовать get_the_author_meta () вместо get_usermeta (), поскольку он устарел.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top