Скрывать пустые категории из меню с помощью функции

07.02.2019
TemplateMonster - лучшая коллекция шаблонов для CMS WordPress

Допустим, есть такая ситуация, что в меню сайта выводятся все категории с записями. Но периодически записи удаляются (допустим, это формат каталога) и нам нужно пустые категории убирать из меню. Если категорий очень много, то постоянно редактировать меню сложно. Поэтому используем функцию, которая будет автоматически убирать из меню пустые рубрики.

Добавим данный код в файл functions.php:

//  Hide empty categories in MENU
function gowp_nav_remove_empty_terms($items, $menu, $args)
{
    global $wpdb;

    $empty = $wpdb->get_col("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE count = 0");
    foreach ($items as $key => $item) {
        if (('taxonomy' == $item->type) && (in_array($item->object_id, $empty))) {
            unset($items[$key]);
        }
    }

    return $items;
}

add_filter('wp_get_nav_menu_items', 'gowp_nav_remove_empty_terms', 10, 3);
TemplateMonster - лучшая коллекция шаблонов для CMS WordPress

Полезная инфа:

Оставить комментарий