Как сделать вывод главных категорий в WordPress с помощью кода

В WordPress часто возникает задача вывести список главных категорий блога или магазина без использования плагинов. Это может понадобиться для создания кастомного меню, боковой панели или отдельного блока с категориями. В этой статье разберём, как программно получить и вывести только основные категории — то есть те, у которых нет родительской категории (parent = 0). Рассмотрим примеры кода, объясним параметры и дадим советы по кастомизации.

Что такое главные категории в WordPress и зачем их выводить

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

Вывод главных категорий позволяет:

  • Показать пользователям основные темы сайта;
  • Упростить навигацию, избегая длинных списков вложенных подкатегорий;
  • Создавать кастомные меню и виджеты с уникальным дизайном;
  • Оптимизировать загрузку страниц, выводя только нужный уровень.

Выводить главные категории можно как с помощью готовых виджетов и плагинов, так и программно, что даёт полный контроль над отображением.

Функция wptips_get_top_categories: как получить главные категории

Напишем функцию wptips_get_top_categories(), которая вернёт массив объектов категорий с parent=0. Используем стандартную функцию WordPress get_categories() с параметрами для выбора только верхнего уровня.

function wptips_get_top_categories() {
    $args = array(
        'taxonomy'   => 'category',
        'parent'     => 0, // только верхний уровень
        'hide_empty' => false, // показывать даже пустые категории
        'orderby'    => 'name',
        'order'      => 'ASC',
    );
    return get_categories($args);
}

Параметры:

  • taxonomy — указывает таксономию, обычно 'category';
  • parent — 0 означает верхний уровень категорий;
  • hide_empty — false позволяет вывести даже категории без записей;
  • orderby и order задают сортировку.

Теперь вызов wptips_get_top_categories() вернёт массив объектов категорий.

Вывод главных категорий с описанием и ссылками

После получения категорий выведем их в виде списка с ссылкой на архив и кратким описанием. Такой список удобно встроить в шаблон сайта или виджет.

$top_categories = wptips_get_top_categories();
echo '<ul class="wptips-top-categories">';
foreach ($top_categories as $cat) {
    $link = get_category_link($cat->term_id);
    echo '<li><a href="' . esc_url($link) . '" title="' . esc_attr($cat->name) . '">' . esc_html($cat->name) . '</a>';
    if (!empty($cat->description)) {
        echo '<div class="category-description">' . esc_html($cat->description) . '</div>';
    }
    echo '</li>';
}
echo '</ul>';

В этом коде мы создаём HTML-список, где каждая категория — это ссылка на её архив с отображением названия и описания (если есть). Используем esc_url и esc_html для безопасности вывода.

Кастомизация вывода: количество, иконки и подкатегории

Если нужно ограничить количество выводимых категорий, добавьте в get_categories() параметр 'number' => 5 или другое число.

Для улучшения дизайна можно добавить иконки к категориям. Обычно для этого используют кастомное поле или плагин, например, Advanced Custom Fields. В коде можно получить URL иконки и вывести рядом с названием:

$icon_url = get_term_meta($cat->term_id, 'category_icon', true);
if ($icon_url) {
    echo '<img src="' . esc_url($icon_url) . '" alt="' . esc_attr($cat->name) . '" class="category-icon" />';
}

Также можно вывести подкатегории каждой главной категории. Для этого в цикле сделайте второй запрос:

$subcats = get_categories(array('parent' => $cat->term_id, 'hide_empty' => false));
if ($subcats) {
    echo '<ul class="subcategories">';
    foreach ($subcats as $subcat) {
        $sublink = get_category_link($subcat->term_id);
        echo '<li><a href="' . esc_url($sublink) . '">' . esc_html($subcat->name) . '</a></li>';
    }
    echo '</ul>';
}

Использование плагина Clearfy Pro для управления категориями

Если вы хотите расширить возможности работы с категориями без ручного кода, обратите внимание на плагин Clearfy Pro. Он позволяет управлять отображением таксономий, оптимизировать URL, скрывать пустые категории и многое другое.

Плагин полезен, когда нужно быстро настроить категории для SEO и удобства пользователей, не вдаваясь в код. Но программный подход даёт максимальную гибкость и контроль.

Резюме и рекомендации

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

Советы:

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

Такой подход позволит вам создавать удобные интерфейсы и улучшать навигацию по сайту на WordPress.

Как использовать динамический CSS в WordPress для разных устройств
28.02.2026
Как временно отключить WooCommerce без потери данных
17.02.2026
Как использовать WP-Cron для задач с отложенным стартом в WordPress
19.12.2025
Как использовать WP-CLI для быстрой оптимизации базы данных WordPress
03.06.2026
Как удалить старые ревизии постов в WordPress без плагинов
23.01.2026