Представим, что у вас в WordPress существует большое навигационное меню по рубрикам, но вы решили изменить организационную структуру и объединить несколько разных рубрик в одну или наоборот, пытаетесь разбить одну рубрики WordPress на несколько.
В таком случае, если изменения на сайте еще не завершены, то посетители могут увидеть пустые рубрики.

Если вы хотите скрыть пустые рубрики из меню WordPress, то вставьте следующий код в файл function.php

//WooHelp.ru
//WordPress 5.0.1
add_filter( 'wp_get_nav_menu_items', 'gowp_nav_remove_empty_terms', 10, 3 );
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;
}

Где находится файл function.php?

Файл function.php находится в папке вашей темы WordPress, путь к файлу следующий:
/wp-content/themes/Тема WordPress/function.php

Этот код еще работает?

Пожалуйста, сообщите мне в комментариях о работоспособности. Данный код тестировался на версии PHP 7 и WordPress указанной в коде.