Пользовательский шаблон таксономии не будет отображать меню

Вот как я могу начать описывать это, это очень странная ошибка, возможно, что-то еще, но это первый симптом, который у меня есть.
У меня есть собственный шаблон[taxonomy-location_types.php] что показывает, пользовательский тип сообщения [locations] по его собственной таксономии[location-types],

Если вы посетите домашнюю страницу, вы увидите меню редакции, путешествия и т. Д.
Теперь, если вы посмотрите здесь на этой странице таксономии
Меню исчезло, есть другие запросы, которые не запускаются, но я сосредоточился на этом как на первичной проблеме.

Я сгенерировал вывод из nav-menu-template.php вот так:

    if ( $menu && !is_wp_error($menu) && !isset($menu_items) )
{
    write_log($menu);
    $menu_items = wp_get_nav_menu_items( $menu->term_id, array( 'update_post_term_cache' => false ) );
    write_log($menu_items);
}

и я получаю это:

[31-Aug-2017 15:27:52 UTC] WP_Term Object
(
    [term_id] => 2
    [name] => Header Menu
    [slug] => header-menu
    [term_group] => 0
    [term_taxonomy_id] => 2
    [taxonomy] => nav_menu
    [description] => 
    [parent] => 0
    [count] => 6
    [filter] => raw
)

[31-Aug-2017 15:27:52 UTC] Array
(
)

[31-Aug-2017 15:27:52 UTC] WP_Term Object
(
    [term_id] => 3
    [name] => Footer One
    [slug] => footer-one
    [term_group] => 0
    [term_taxonomy_id] => 3
    [taxonomy] => nav_menu
    [description] => 
    [parent] => 0
    [count] => 5
    [filter] => raw
)

[31-Aug-2017 15:27:52 UTC] Array
(
)

Таким образом, он видит меню, но по какой-то причине не возвращает никаких пунктов ни в одном меню.
Я отключил все плагины и все еще получаю тот же результат, я также удалил все другие запросы на этой странице, чтобы увидеть, был ли конфликт, и все же это происходит.

Любое понимание этого было бы здорово, если бы не было уверенности, где искать следующие вопросы.

1 ответ

Мел еще один для RTFM, у меня был pre_get_posts хук, изменяющий запрос, и я не гарантировал, что запрос, который он изменял, был просто $query->is_main_query() потому что, как ни странно, это изменение попало в запрос nav_menu.

монитор запросов теперь мой новый лучший друг.

Другие вопросы по тегам