自定义分类模板将不会显示任何菜单
问题描述:
这是我可以开始描述这个,这是一个非常奇怪的错误,也许是别的,但这是我的第一个症状。
我有一个自定义模板[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
(
)
所以看到菜单,但由于某种原因,返回要么菜单中没有的项目。
我已关闭所有插件,仍然得到相同的结果,我也消除了此页面上的所有其他查询,看看是否有冲突,这仍然发生。
对这个问题的任何洞察力都非常不确定在哪里寻找问题。
答
粉笔另一个弥补RTFM,我有一个pre_get_posts
钩改变查询和我没有确保它改变查询只是在$query->is_main_query()
因为奇怪的是这种改变是进入了nav_menu查询。
query monitor现在是我的新朋友。
只是在试图解决问题之前的快速注释,不应''! is_wp_error($ menu)'在第一行是'!is_wp_error($ menu)'(没有空格)? – Sheedo
是的,进去并加倍检查,只是复制/粘贴错误,代码是正确的。将要编辑。 – pandabrand