Как отобразить пользовательские мета-данные из регистрации в панели администратора?

18 окт. 2013 г., 01:55:52
Просмотры: 19.8K
Голосов: 6

Я рассматриваю использование хуков для формы регистрации WordPress, чтобы добавить несколько пользовательских полей: https://codex.wordpress.org/Customizing_the_Registration_Form

Мой вопрос заключается в том, возможно ли это вообще: как отобразить некоторые из этих пользовательских полей в панели администратора Users > All Users? Например, если у меня есть поля для 'почтового индекса' и 'адреса', как мне отобразить эти данные в панели администратора? Спасибо.

0
Все ответы на вопрос 2
0

На самом деле, я нашел этот подход более простым и понятным:

//добавляем колонки на страницу списка пользователей в панели управления
function add_user_columns($column) {
    $column['address'] = 'Адрес';
    $column['zipcode'] = 'Почтовый индекс';

    return $column;
}
add_filter( 'manage_users_columns', 'add_user_columns' );

//добавляем данные
function add_user_column_data( $val, $column_name, $user_id ) {
    $user = get_userdata($user_id);

    switch ($column_name) {
        case 'address' :
            return $user->address;
            break;
        default:
    }
    return;
}
add_filter( 'manage_users_custom_column', 'add_user_column_data', 10, 3 );

Больше информации о хуках для пользовательских колонок можно найти здесь: http://tareq.wedevs.com/2011/07/add-your-custom-columns-to-wordpress-admin-panel-tables/

18 окт. 2013 г. 21:03:43
1

Для отображения метаданных пользователя на странице пользователя вам понадобятся фильтры manage_users_custom_column и manage_users_columns: Сортируемые пользовательские колонки в панели пользователей (users.php)?

А для добавления полей на страницах пользователя/профиля используйте следующий код (из Чекбоксы в форме регистрации):

// ПРОФИЛЬ
add_action( 'show_user_profile', 'user_field_wpse_87261' );
add_action( 'personal_options_update', 'save_profile_fields_87261' );

// РЕДАКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЯ
add_action( 'edit_user_profile', 'user_field_wpse_87261' );
add_action( 'edit_user_profile_update', 'save_profile_fields_87261' );
18 окт. 2013 г. 07:26:31
Комментарии

Спасибо за ваш ответ. Он привел меня к более простому решению, и я хотел бы услышать ваше мнение об этом. Также спасибо за информацию о show_user_profile и edit_user_profile. Очень полезно знать. Удачи!

gstricklind gstricklind
18 окт. 2013 г. 21:06:46