wp_list_categories не показывает текущую категорию
-
19-09-2019 - |
Вопрос
Главное меню моего блога состоит из категорий, отображаемых с помощью функции 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 = '¤t_category='.$myCat;
}
elseif (is_single()){
$catsy = get_the_category();
$myCat = $catsy[0]->cat_ID;
$currentcategory = '¤t_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.