0

这就是我可以开始描述的方式,这是一个非常奇怪的错误,可能是其他错误,但这是我的第一个症状。
我有一个自定义模板[taxonomy-location_types.php],它显示了一个自定义帖子类型[locations],它是 custom taxonomy [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
(
)

所以它会看到菜单,但由于某种原因,两个菜单中都没有返回任何项目。
我已经关闭了所有插件并且仍然得到相同的结果,我还消除了此页面上的所有其他查询以查看是否存在冲突,并且仍然会发生这种情况。

对此的任何见解都会很好,不确定下一步该去哪里寻找问题。

4

1 回答 1

0

为 RTFM 再写一个,我有一个pre_get_posts更改查询的钩子,但我不能确保它正在更改的查询只是$query->is_main_query()因为奇怪的是,这种更改正在进入 nav_menu 查询。

查询监视器现在是我最好的新朋友。

于 2017-08-31T20:33:38.767 回答