Вопрос

Главное меню моего блога состоит из категорий, отображаемых с помощью функции wp_list_categories.

Если я нажимаю на одну из категорий, текущая категория выделяется в меню категории, и отображается список статей внутри этой категории.Все в порядке.

Но если я затем нажму на одну статью, в меню Категории больше не будет отображаться текущая категория.Кто-нибудь знает, как я мог бы это исправить?

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

<?php
wp_list_categories('child_of=55&sort_column=menu_order&sort_order=asc&title_li=');
?>
Это было полезно?

Решение

Я нашел хороший хак на форуме WordPress.В нем будет показана только одна "текущая" категория, но этого достаточно для моих нужд.

<?php
    if  (!is_page() && !is_home() && !is_single()){
    $catsy = get_the_category();
    $myCat = $catsy->cat_ID;
    $currentcategory = '&current_category='.$myCat;
}

    elseif (is_single()){
    $catsy = get_the_category();
    $myCat = $catsy[0]->cat_ID;
    $currentcategory = '&current_category='.$myCat;
}

    wp_list_categories('depth=1&title_li=&orderby=id&exclude=1,5,6,19,20,21,22&hide_empty=0'.$currentcategory);
    ?>

Если вы выделяете только 1 категорию, когда у вас система с несколькими категориями для каждой публикации, вы можете захотеть использовать этот плагин вместо этого (добавьте .used-cat класс в вашей таблице стилей, рядом с .current-cat класс, предоставляемый WordPress).

Другие советы

'parent' не является допустимым аргументом для wp_list_categories.

Кроме того, вы уверены, что один и тот же код предоставляет список категорий как для страницы категории, так и для страницы публикации?Код может находиться внутри блока is_category или is_post/ is_page.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top