Как отфильтровать "Без рубрики" из всех списков категорий с помощью одного фильтра в functions.php?
Мне нужно добавить код в functions.php, чтобы перехватывать все вызовы wp_list_categories() и the_category() для исключения категории "Без рубрики" и любых её дочерних элементов (ИЛИ cat_id 1). Также хочу ограничить количество слов в атрибуте "title" каждого элемента списка. По умолчанию используется $cat_args['use_desc_for_title'] = 1;, но похоже, это нельзя вставить в фильтр исключений ниже.
Я использую код ниже, который успешно удаляет нежелательные категории из списков, созданных через wp_list_categories, но не удаляет их из списков, созданных через the_category...
function my_list_terms_exclusions($exclusions,$args) {
$children = implode(',',get_term_children(1,'category'));
$children = (empty($children) ? '' : ",$children");
return $exclusions . " AND (t.term_id NOT IN (1{$children}))";
}
add_filter('list_terms_exclusions', 'my_list_terms_exclusions', 10, 2);?>

Я наконец-то смог разобраться с этим... Хотя мне пришлось установить фильтр непосредственно на метод widget_categories_args, так что потребовалось два фильтра для достижения нужного результата.
function my_categories_filter($cat_args){
$cat_args['title_li'] = ''; // Убираем заголовок списка категорий
$cat_args['exclude_tree'] = 1; // Исключаем категорию и все её подкатегории
$cat_args['exclude'] = 1; // Исключаем конкретную категорию
$cat_args['use_desc_for_title'] = 0; // Отключаем использование описания в качестве title
return $cat_args;
}
add_filter('widget_categories_args', 'my_categories_filter', 10, 2);
