Организация контента — ключевой элемент удобства навигации и SEO на вашем сайте WordPress. Внутренние категории позволяют создавать многоуровневую структуру, которая помогает пользователям и поисковым системам лучше понимать взаимосвязи между материалами. В этой статье мы подробно рассмотрим, как правильно использовать внутренние категории (подкатегории) в WordPress, а также предложим примеры кода и полезные плагины для управления ими.
Что такое внутренние категории и зачем они нужны
Категории в WordPress — это таксономия, которая группирует записи по темам. Внутренние категории — это дочерние категории, вложенные в родительские. Например, категория «Новости» может иметь внутренние категории «Технологии», «Бизнес» и «Образование».
Преимущества использования внутренних категорий:
- Улучшение навигации по сайту — пользователи быстрее находят нужные материалы.
- Повышение релевантности и структуры для SEO — поисковые системы лучше индексируют сайт.
- Гибкость в отображении контента — можно выводить записи из определённой подкатегории или всей ветки категорий.
Однако важно соблюдать баланс, чтобы не создавать слишком глубокую и запутанную иерархию.
Как создать внутренние категории в WordPress
Создать внутренние категории очень просто через админ-панель:
- Перейдите в «Записи» > «Рубрики».
- В поле «Название» введите имя новой категории.
- В поле «Родительская категория» выберите категорию, которая будет родительской для создаваемой.
- Нажмите «Добавить новую рубрику».
Так вы создадите иерархическую структуру категорий. Например, добавим «Технологии» с родителем «Новости».
Пример создания категории программно
Если необходимо создать категории программно, например, при установке темы или плагина, используйте функцию wpwp_add_category():
function wpwp_add_category($name, $parent_slug = '') {
$parent_id = 0;
if($parent_slug) {
$parent_term = get_term_by('slug', $parent_slug, 'category');
if($parent_term) {
$parent_id = $parent_term->term_id;
}
}
if(!term_exists($name, 'category')) {
wp_insert_term($name, 'category', array('parent' => $parent_id));
}
}
// Создаем категорию "Технологии" с родителем "Новости"
wpwp_add_category('Технологии', 'novosti');Такой подход полезен для автоматической настройки структуры при деплое.
Вывод записей из внутренних категорий на сайте
Чтобы вывести записи из определённой внутренней категории, можно использовать WP_Query с параметром category_name или cat. Например, вывести все записи из категории «Технологии»:
$args = array(
'category_name' => 'tehnologii',
'posts_per_page' => 10
);
$query = new WP_Query($args);
if($query->have_posts()) {
while($query->have_posts()) {
$query->the_post();
echo '<h2>' . get_the_title() . '</h2>';
the_excerpt();
}
wp_reset_postdata();
}Если нужно вывести записи из родительской категории и всех её подкатегорий, то достаточно указать родительскую категорию, и WordPress автоматически подтянет дочерние.
Вывод вложенных категорий с их записями
Иногда требуется вывести список всех внутренних категорий с количеством записей и ссылками. Это можно сделать так:
$categories = get_categories(array(
'child_of' => get_cat_ID('Новости'),
'hide_empty' => false
));
echo '<ul>';
foreach($categories as $category) {
echo '<li><a href="' . get_category_link($category->term_id) . '">' . $category->name . ' (' . $category->count . ')</a></li>';
}
echo '</ul>';Так можно создать удобное меню или блок с подкатегориями.
Лучшие плагины для работы с внутренними категориями и таксономиями
Если стандартных средств WordPress недостаточно, обратите внимание на следующие плагины:
- Category Order and Taxonomy Terms Order — позволяет менять порядок категорий и подкатегорий перетаскиванием.
- WP Custom Category Pages — дает возможность создавать свои шаблоны для категорий, включая внутренние.
- Advanced Custom Fields (ACF) — расширяет возможности категорий, добавляя поля для дополнительной информации.
Например, с помощью ACF можно добавить описание или иконку к каждой внутренней категории, что улучшит визуальное восприятие.
Пример добавления иконки категории через ACF
Создайте поле типа «Изображение» для таксономии «category». Затем в шаблоне категории выведите иконку так:
$icon_id = get_field('icon', 'category_' . get_queried_object_id());
if($icon_id) {
echo wp_get_attachment_image($icon_id, 'thumbnail');
}Советы по SEO и UX при использовании внутренних категорий
Правильное использование внутренних категорий поможет улучшить SEO и удобство сайта:
- Не создавайте слишком много уровней — оптимально 2-3 уровня, чтобы не запутать пользователей и поисковики.
- Используйте понятные названия категорий, отражающие тематику контента.
- Добавьте описание для каждой категории — это поможет поисковым системам лучше понять содержание.
- Создавайте уникальные шаблоны категорий для улучшения визуала и структуры страниц.
- Используйте внутренние ссылки между категориями и записями для лучшей навигации и распределения веса страниц.
Интеграция с плагином WPRemark для отзывов по категориям
Плагин WPRemark позволяет добавлять отзывы к записям и категориям. Вы можете настроить вывод отзывов прямо на страницах внутренних категорий, повысив доверие посетителей.
Для этого в шаблоне категории вызовите функцию вывода отзывов WPRemark, например:
if(function_exists('wpremark_show_reviews_for_category')) {
wpremark_show_reviews_for_category(get_queried_object_id());
}Таким образом, внутренняя категория не просто структурирует контент, но и становится площадкой для взаимодействия с аудиторией.