Кастомизация колонок в админке WordPress: добавление и настройка

Почему важно настраивать колонки в админке WordPress

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

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

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

Добавление и удаление колонок для записей WordPress

Для управления колонками в списке постов и кастомных типов записей используются фильтры manage_{$post_type}_posts_columns и экшены manage_{$post_type}_posts_custom_column. Рассмотрим пример для стандартных записей (post).

Добавление колонки с кастомным полем

Предположим, у записей есть кастомное поле wpquery_custom_info, которое нужно вывести в отдельной колонке.

add_filter('manage_post_posts_columns', 'wpquery_add_custom_column');
function wpquery_add_custom_column($columns) {
    // Добавляем новую колонку после заголовка
    $new_columns = array();
    foreach ($columns as $key => $value) {
        $new_columns[$key] = $value;
        if ($key === 'title') {
            $new_columns['wpquery_custom_info'] = 'Доп. Информация';
        }
    }
    return $new_columns;
}

add_action('manage_post_posts_custom_column', 'wpquery_fill_custom_column', 10, 2);
function wpquery_fill_custom_column($column, $post_id) {
    if ($column === 'wpquery_custom_info') {
        $value = get_post_meta($post_id, 'wpquery_custom_info', true);
        echo esc_html($value ? $value : '–');
    }
}

Этот код добавит новую колонку с заголовком «Доп. Информация» и заполнит ее значениями из метаполя.

Удаление ненужных колонок

Иногда стандартные колонки занимают много места, и их лучше убрать. Для этого просто удалите нужный ключ из массива колонок.

add_filter('manage_post_posts_columns', 'wpquery_remove_columns');
function wpquery_remove_columns($columns) {
    unset($columns['comments']); // Убираем колонку с комментариями
    unset($columns['author']);   // Убираем автора
    return $columns;
}

Кастомизация колонок для пользователей WordPress

Аналогично можно настроить колонки в списке пользователей. Для этого используются фильтры manage_users_columns и экшены manage_users_custom_column.

Добавление колонки с ролью и дополнительной информацией

add_filter('manage_users_columns', 'wpquery_add_user_column');
function wpquery_add_user_column($columns) {
    $columns['wpquery_user_role'] = 'Роль и статус';
    return $columns;
}

add_action('manage_users_custom_column', 'wpquery_fill_user_column', 10, 3);
function wpquery_fill_user_column($value, $column_name, $user_id) {
    if ($column_name === 'wpquery_user_role') {
        $user = get_userdata($user_id);
        $roles = implode(', ', $user->roles);
        $status = get_user_meta($user_id, 'wpquery_status', true) ?: 'нет статуса';
        return esc_html($roles . ' (' . $status . ')');
    }
    return $value;
}

Так вы получите колонку, где сразу видно роль пользователя и дополнительный статус из метаполя.

Полезные плагины для кастомизации колонок

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

  • Codepress Admin Columns — один из самых популярных и удобных плагинов, позволяет добавлять колонки для постов, пользователей, терминов и др., поддержка сортировки и фильтрации.
  • Clearfy Pro — комплексный оптимизатор WordPress с функцией управления админской панелью, включая колонки.

Оба плагина совместимы с последними версиями WordPress и помогают быстро настроить админку под свои задачи.

Сортировка и фильтрация по своим колонкам

Добавленные колонки можно сделать сортируемыми и фильтруемыми, что значительно улучшает удобство работы. Для сортировки добавьте фильтр manage_edit-{$post_type}_sortable_columns, а для обработки сортировки — хук pre_get_posts.

add_filter('manage_edit-post_sortable_columns', 'wpquery_make_column_sortable');
function wpquery_make_column_sortable($columns) {
    $columns['wpquery_custom_info'] = 'wpquery_custom_info';
    return $columns;
}

add_action('pre_get_posts', 'wpquery_sort_custom_column');
function wpquery_sort_custom_column($query) {
    if (!is_admin() || !$query->is_main_query()) return;
    if ($query->get('orderby') === 'wpquery_custom_info') {
        $query->set('meta_key', 'wpquery_custom_info');
        $query->set('orderby', 'meta_value');
    }
}

Для фильтрации по значениям колонок можно добавить соответствующие элементы управления в админку, используя restrict_manage_posts. Это поможет быстро отфильтровать записи по нужным параметрам.

Особенности и рекомендации по производительности

Добавление большого количества кастомных колонок, особенно с данными из метаполей или сложных вычислений, может замедлить загрузку страниц админки. Чтобы избежать этого:

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

Хорошая практика — использовать плагины с оптимизированным кодом или реализовывать кастомные решения с учетом производительности.

Вывод

Настройка колонок в админке WordPress — это мощный способ сделать управление сайтом удобнее и эффективнее. С помощью приведенных примеров можно быстро добавить, удалить и настроить колонки для любых типов записей и пользователей.

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

Больше полезных решений и плагинов вы найдете на wpshop.ru.

Как создать динамические таблицы в WordPress с использованием шорткода и AJAX
05.02.2026
Создание автоматического бэкапа базы данных WordPress
04.12.2025
Как автоматизировать управление ролями пользователей в WordPress
14.03.2026
WooCommerce: правильное изменение статуса заказа после успешного платежа
07.05.2026
Как автоматизировать управление отзывами в WordPress
24.01.2026