Как добавить пользовательские поля на страницу всех пользователей

В настоящее время я работаю над проектом, в рамках которого я создаю настраиваемую регистрационную форму. Эта форма после отправки добавляет пользовательские данные в таблицу пользователей wp, а затем вставляет идентификатор пользователя в таблицу параметров wp. Я могу видеть всех пользователей, которые регистрируются. Но я хотел бы настроить таблицу, в которой перечислены все пользователи для отображения настраиваемых полей. А также ссылку, которую я могу использовать для активации пользователей (изменение поля, заданного в таблице параметров wp, на true).
Пожалуйста, мне нужна помощь

Ответы и комментарии:

Для первой части вашего вопроса вы можете добавить новые столбцы в таблицу пользователей.
Это в два этапа: сначала нужно зарегистрировать столбцы, затем вывести информацию для каждой строки.
Чтобы добавить новые столбцы, вы подключаетесь к фильтру manage_users_columns:
function yourdomain_manage_users_columns ($ columns) {

    // $ columns - это массив ключ / значение слагаемых и имен столбцов
    $ columns ['custom_field'] = 'Пользовательское поле';

    вернуть $ столбцы;
}

add_filter ('manage_users_columns', 'yourdomain_manage_users_columns', 10, 1);

Затем вам нужно вывести свое настраиваемое поле, используя фильтр manage_users_custom_column:
функция yourdomain_manage_users_custom_column ($ output, $ column_key, $ user_id) {

    switch ($ column_key) {

        // ищем слизняка, которого вы зарегистрировали
        case 'custom_field':

            // получаем ваше поле, анализируем его как хотите
            $ value = get_user_meta ($ user_id, 'custom_field', true);

            // вернуть значение
            вернуть значение $;

            перерыв;
        по умолчанию: перерыв;
    }

    // если столбец не обнаружен, возвращаем значение по умолчанию
    вернуть $ output;
}

add_filter ('manage_users_custom_column', 'yourdomain_manage_users_custom_column', 10, 3);

Что касается активации пользователя:
Возможно, таблица WP_options - не лучший способ для этого, так как она будет быстро расти, из-за того, что ваш сайт будет сложно поддерживать.
Возможно, вы захотите создать новую роль пользователя для неактивированных пользователей и установить ее по умолчанию; который вы можете легко изменить через интерфейс администратора.
Если вы добавляете этот код через плагин, вы можете сделать:
function yourdomain_add_user_role () {

    // возможности
    $ caps = array (
        'level_0' => true, // наследовать возможности подписчика
        'read' => false // но не могу читать сообщения и т. д.
    );

    // реклама неактивной роли пользователя
    add_role (
        'неактивен', // Ролевая слизня
        «Неактивный аккаунт», // Название роли
        $ caps // Возможности
    );
}

register_activation_hook (__FILE__, 'yourdomain_add_user_role');

Посмотрите на кодекс (длинный) список ролей и возможностей пользователя: https://codex.wordpress.org/Roles_and_Capabilities
Надеюсь, это поможет!
Создан 05-07-2017 07:15 Mordred1054