这就是我开始描述这个问题的方法,这是一个非常奇怪的错误,可能是别的,但这是我的第一个症状。
我有一个自定义模板[taxonomy-location_types.php]
,通过它的自定义分类[locations]
显示自定义帖子类型[location-types]
。
如果您访问主页page,您会看到菜单编辑,旅行等。
现在,如果你看一下这个分类法page
菜单已经消失,还有其他查询没有解决,但我把重点放在这个主要问题上。
我已经像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
(
)
所以它看到了菜单,但由于某种原因,在任一菜单中都没有返回任何项目 我已关闭所有插件并仍然得到相同的结果,我还删除了此页面上的所有其他查询以查看是否存在冲突,这仍然会发生。
对此问题的任何见解都很棒,不知道下一步要查找哪些问题。
答案 0 :(得分:0)
为RTFM粉笔另一个,我有一个pre_get_posts
钩子改变查询,我没有确保它正在改变的查询只是$query->is_main_query()
因为奇怪的是这个改变是进入nav_menu查询。
query monitor现在是我最好的朋友。