谁能告诉我wp_nav_menu
否时的功能menu
或theme_location
是否指定?
我有多个网站使用内部导航设置,但没有指定菜单。这似乎会导致WordPress在所有菜单中搜索,直到找到页面为止。对于99%的我的网站来说,这项功能非常有效。
但是,我注意到,如果多个菜单包含相同的页面(并且这些页面指定了不同的子级),wp_nav_menu
似乎返回它发现的包含所需页面的第一个菜单。在某些情况下,这最终来自一个菜单,该菜单不包含主导航层次结构中的所有页面。
因此,我想知道是否有办法指定菜单顺序(即先检查主菜单,然后检查页脚,然后检查实用程序等),或者是否应该实现一个从未在网站上显示但用于为网站提供适当页面层次结构的主菜单。
任何关于方法或最佳实践的想法都会很有帮助。
为了充分披露,请注意,我已通过使用扩展了我的wp\\U nav\\U菜单WP Nav Plus, 但我不认为插件改变了我的问题
SO网友:Rarst
我不确定我是否完全遵循了您的描述,但完全按照文档中的内容进行:
如果未给出theme_location
参数,函数显示
与给定的ID、slug或名称匹配的菜单menu
参数否则,第一个非空菜单否则(或如果menu给出的菜单为空),则输出fallback_cb
参数(wp_page_menu()
, 默认情况下)否则什么都没有
Codex > Function Reference/wp nav menu
您看到的行为可能只是“首先”菜单的附带行为,而不是遵循一些复杂的页面相关逻辑。
至于推荐,为什么首先要依赖这样的东西呢?只需明确您需要的菜单,并消除任何歧义。