<?php
$parent_id = 4; // ID родительской категории
// Получаем родительскую категорию
$parent_category = get_category($parent_id);
// Получаем подкатегории
$args = array(
'orderby' => 'name',
'order' => 'asc',
'style' => 'list',
'hide_empty' => 0,
'child_of' => $parent_id,
'title_li' => '',
'use_desc_for_title' => 1
);
// Проверяем, находимся ли мы в родительской категории или её подкатегории
$current_category = get_queried_object();
$current_class = '';
if ($current_category && $current_category->term_id == $parent_id) {
$current_class = 'current-cat';
}
echo '<ul class="subcat align-center">';
// Выводим родительскую категорию
echo '<li class="cat-item cat-item-' . $parent_category->term_id . ' ' . $current_class . '">';
echo '<a href="' . get_category_link($parent_category->term_id) . '">' . $parent_category->name . '</a>';
echo '</li>';
// Выводим подкатегории
wp_list_categories($args);
echo '</ul>';
?>
$parent_id = 4; — идентификатор родительской категории, которую вы хотите вывести.
get_category() — функция для получения родительской категории.
wp_list_categories() — стандартная функция для вывода подкатегорий.
get_queried_object() — проверяем, находимся ли мы на странице родительской категории или её подкатегории.
current-cat — если пользователь находится в родительской категории, то добавляется класс current-cat.
Этот код выводит родительскую категорию первой, добавляет к ней класс current-cat, если пользователь находится на её странице, а затем выводит список подкатегорий.