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

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

Добавим данный код в файл 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);
Поиск только по записям на сайте

Для того чтобы поиск на сайте работал только по записям, и не выводил в результатах…

Задаем различные размеры для миниатюр (post-thumbnails)

Данный код размещаем в файле functions.php /* Thumbnails */ add_theme_support(‘post-thumbnails’); set_post_thumbnail_size(640, 640, true); if (function_exists(‘add_image_size’))…

Задаем формат для анонса записи с помощью тега Excerpt

Задаем формат для анонса статьи. При использовании вывода краткого содержания статьи, например в категории с…

Подключаем правильно скрипты js в шаблоне WordPress

Подключать стили и скрипты в шаблон в файле header.php — неправильно. Правильная практика — подключать…

2 комментария

пишет что ошибка при сохранении файла (

Протестровал, ошибок нет, код по прежнему работает как надо.
Возможно, вы что-то неправильно делаете.

Ответить