@Aleksander911

Как вывести список: родительская категория и ее подкатегорий?

Здравствуйте всем!
Список подкатегорий категории вывожу так:
$args = array(
'orderby'            => 'name',
'title_li'            => '',
'order'              => 'asc',
'style'              => 'list',
'hide_empty'         => 0,
'use_desc_for_title' => 1,
'child_of'       => 4
);
echo '<ul class="subcat align-center">' ;  
wp_list_categories($args);
echo '</ul>';

Подскажите как в список покатегорий добавить в начало родительскую категорию? Так же чтобы при нахождении в ней, в списке она была активной, т.е. добавлялся class current-cat
  • Вопрос задан
  • 31 просмотр
Пригласить эксперта
Ответы на вопрос 1
@alex1nd
<?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, если пользователь находится на её странице, а затем выводит список подкатегорий.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы