Как отобразить несколько пользовательских столбцов в wp-admin users.php?
Вопрос
Я использую 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 (), поскольку он устарел.
Не связан с wordpress.stackexchange