Я сделал это, клонировав функцию wp_list_categories, присвоив ей другое имя и вставив код после строки: $ Categories = get_categories ($ r):
foreach ($ category as $ key => $ category) {
$ temp = array ('post_type' => $ r ['type'], 'tax_query' => array (
массив (
'таксономия' => $ категория-> таксономия,
'field' => 'slug',
'term' => $ category-> slug
)
)
);
$pauli = new wp_query($temp);
if($pauli->post_count==0){
unset($categories[$key]);
}
}
Как вы видите, он удаляет категории, которые не имеют нужного вам типа записи, а затем продолжает процесс, как обычно это делает wp_list_categories. Возможно, вам придется добавить фильтр, чтобы обеспечить, чтобы на вызываемой странице категории / странице таксономии отображался только тот тип сообщения, который вы хотите, но это зависит от того, какой тип постоянной ссылки у вас есть.