Создание динамических иконок для статусов публикаций в WordPress

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

Почему важно использовать динамические иконки для статусов

Текстовое обозначение статуса не всегда удобно: оно занимает место и не всегда бросается в глаза. Иконки же обеспечивают мгновенное визуальное восприятие. Динамические иконки позволяют автоматически показывать соответствующую иконку в зависимости от текущего статуса публикации. Это особенно полезно в админ-панели, на фронтенде сайта и в кастомных списках.

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

Подключение FontAwesome для отображения иконок

Для начала подключим библиотеку иконок FontAwesome. Это можно сделать прямо в теме через functions.php:

function wpicons_enqueue_fontawesome() {
    wp_enqueue_style('wpicons-fontawesome', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');
}
add_action('admin_enqueue_scripts', 'wpicons_enqueue_fontawesome');
add_action('wp_enqueue_scripts', 'wpicons_enqueue_fontawesome');

Этот код подключит стили как в админ-панели, так и на фронтенде сайта.

Функция для вывода иконки по статусу публикации

Создадим функцию wpicons_get_status_icon, которая принимает статус поста и возвращает HTML с иконкой:

function wpicons_get_status_icon($status) {
    $icons = [
        'publish' => '<i class="fas fa-check-circle" style="color:green" title="Опубликовано"></i>',
        'pending' => '<i class="fas fa-clock" style="color:orange" title="В ожидании"></i>',
        'draft' => '<i class="fas fa-pencil-alt" style="color:gray" title="Черновик"></i>',
        'future' => '<i class="fas fa-calendar-alt" style="color:blue" title="Запланировано"></i>',
        'private' => '<i class="fas fa-lock" style="color:red" title="Приватно"></i>',
        'trash' => '<i class="fas fa-trash" style="color:#a00" title="Удалено"></i>',
    ];
    return isset($icons[$status]) ? $icons[$status] : '<i class="fas fa-question-circle" title="Неизвестный статус"></i>';
}

Эта функция возвращает разные иконки с цветовой дифференциацией и всплывающими подсказками.

Добавление иконок в список публикаций в админ-панели

Для удобства редакторов добавим колонку с иконками статусов в таблицу списка постов. Используем хук manage_posts_columns и manage_posts_custom_column:

// Добавляем новую колонку
function wpicons_add_status_icon_column($columns) {
    $columns['status_icon'] = 'Статус';
    return $columns;
}
add_filter('manage_posts_columns', 'wpicons_add_status_icon_column');

// Заполняем колонку иконками
function wpicons_fill_status_icon_column($column, $post_id) {
    if ($column === 'status_icon') {
        $post = get_post($post_id);
        echo wpicons_get_status_icon($post->post_status);
    }
}
add_action('manage_posts_custom_column', 'wpicons_fill_status_icon_column', 10, 2);

После добавления этого кода в functions.php в списке публикаций появится колонка с иконками, которые отражают статус каждого поста.

Использование иконок на фронтенде: визуализация статуса публикации

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

function wpicons_show_status_icon_frontend($content) {
    if (is_singular('post')) {
        global $post;
        $icon = wpicons_get_status_icon($post->post_status);
        $content = $icon . ' ' . $content;
    }
    return $content;
}
add_filter('the_content', 'wpicons_show_status_icon_frontend');

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

Интеграция с плагином Clearfy Pro: оптимизация работы с иконками

Плагин Clearfy Pro поможет ускорить загрузку иконок и оптимизировать работу сайта. В частности, он позволяет отключить лишние скрипты и стили, а также кешировать CSS, что особенно актуально при использовании FontAwesome.

После установки и активации Clearfy Pro рекомендуется проверить настройки оптимизации CSS и подключение внешних библиотек для максимальной производительности.

Расширение функционала: кастомные статусы и их иконки

WordPress позволяет создавать собственные статусы публикаций. Чтобы добавить иконки для таких кастомных статусов, достаточно расширить массив $icons в функции wpicons_get_status_icon новым ключом и значением:

$icons['my_custom_status'] = '<i class="fas fa-star" style="color:purple" title="Мой статус"></i>';

Так вы можете управлять и визуализировать любой набор статусов в вашем проекте.

Вывод

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

Как создать динамические иконки с вариантами доступа в WordPress
05.02.2026
Как использовать дифференцированные иконки в WooCommerce для вариантов товаров
08.06.2026
Как создать динамические иконки для статусов заказов в WooCommerce
09.04.2026
Как удалить неиспользуемые иконки FontAwesome из WordPress для ускорения загрузки
03.05.2026
Как автоматизировать создание иконок в WordPress с помощью PHP и JavaScript
22.02.2026