Добавление пользовательских столбцов пользователям WordPress: несколько методов и примеры кода

В WordPress система управления пользователями играет решающую роль в контроле доступа и разрешений на веб-сайте. Хотя WordPress предоставляет несколько столбцов по умолчанию для информации о пользователе, могут возникнуть ситуации, когда вам потребуется добавить собственные столбцы для хранения дополнительных пользовательских данных. В этой статье будут рассмотрены несколько методов добавления пользовательских столбцов для пользователей WordPress, а также приведены примеры кода.

Метод 1: использование пользовательских метаданных
WordPress предоставляет пользовательскую метасистему, которая позволяет хранить дополнительную информацию для пользователей. Вы можете использовать функцию add_user_meta()для добавления пользовательских столбцов в метатаблицу пользователя. Вот пример:

// Add custom column to user meta
function add_custom_column_to_user_meta($user_id) {
    $custom_value = 'Custom Value';
    update_user_meta($user_id, 'custom_column', $custom_value);
}
add_action('user_register', 'add_custom_column_to_user_meta');

Метод 2: использование полей профиля пользователя
WordPress также позволяет добавлять на страницу профиля пользователя настраиваемые поля, которые могут действовать как настраиваемые столбцы. Вы можете использовать хуки show_user_profileи edit_user_profileдля отображения и сохранения настраиваемого поля. Вот пример:

// Add custom column to user profile
function add_custom_column_to_user_profile($user) {
    $custom_value = get_user_meta($user->ID, 'custom_column', true);
    ?>
    <h3>Custom Column</h3>
    <table class="form-table">
        <tr>
            <th><label for="custom_column">Custom Column</label></th>
            <td>
                <input type="text" name="custom_column" id="custom_column" value="<?php echo esc_attr($custom_value); ?>" class="regular-text" />
            </td>
        </tr>
    </table>
    <?php
}
add_action('show_user_profile', 'add_custom_column_to_user_profile');
add_action('edit_user_profile', 'add_custom_column_to_user_profile');
function save_custom_column_in_user_profile($user_id) {
    if (current_user_can('edit_user', $user_id)) {
        $custom_value = sanitize_text_field($_POST['custom_column']);
        update_user_meta($user_id, 'custom_column', $custom_value);
    }
}
add_action('personal_options_update', 'save_custom_column_in_user_profile');
add_action('edit_user_profile_update', 'save_custom_column_in_user_profile');

Метод 3: использование специального плагина.
Если вы предпочитаете более модульный подход, вы можете создать собственный плагин для добавления специального столбца. Вот пример:

// Custom Column Plugin
/
* Plugin Name: Custom User Column
* Description: Adds a custom column to the WP Users table.
*/
function add_custom_column_to_users_table($columns) {
    $columns['custom_column'] = 'Custom Column';
    return $columns;
}
add_filter('manage_users_columns', 'add_custom_column_to_users_table');
function display_custom_column_content($value, $column_name, $user_id) {
    if ('custom_column' == $column_name) {
        $custom_value = get_user_meta($user_id, 'custom_column', true);
        return $custom_value;
    }
    return $value;
}
add_action('manage_users_custom_column', 'display_custom_column_content', 10, 3);
function make_custom_column_sortable($columns) {
    $columns['custom_column'] = 'custom_column';
    return $columns;
}
add_filter('manage_users_sortable_columns', 'make_custom_column_sortable');

Добавление пользовательских столбцов для пользователей WordPress может расширить возможности управления пользователями и позволить хранить дополнительную информацию. В этой статье мы рассмотрели три различных метода: использование метаданных пользователя, полей профиля пользователя и специального плагина. В зависимости от ваших конкретных потребностей и предпочтений в области развития вы можете выбрать наиболее подходящий метод. Поэкспериментируйте с этими примерами кода, чтобы расширить функциональность вашей пользовательской системы WordPress.

Не забудьте настроить имена, значения и функциональные возможности столбцов в соответствии с вашими конкретными требованиями.

Реализуя настраиваемые столбцы, вы можете эффективно управлять пользовательскими данными и систематизировать их на своем сайте WordPress, обеспечивая более индивидуальный подход для ваших пользователей.