我是WordPress开发新手,我正在寻找构建自定义WordPress菜单的最佳方法
我找到了两种服务器端的方法来实现这一点,但我不了解它们之间更深层次的区别
菜单可能会使用wp\\u nav\\u menu函数构建,并且为此需要,crate扩展了Walker\\u nav\\u menu的类。为了满足这一需要,在主题中有一个主类的副本,并更改更多代码,或者我们可以使用wp\\u get\\u nav\\u menu\\u items函数,通过给它指定菜单位置来获取所有项的数组以构建html输出。它将更加简单,无需了解复杂的Walker类,因此,构建菜单的最佳方式是什么,或者这些函数的主要区别是什么<谢谢
WP_GET_NAV_MENU_ITEMS与WP_NAV_MENU
1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
wp_get_nav_menu_items
函数检索给定菜单的菜单项数组。但菜单是一个层次结构,因此需要创建一些机制,根据菜单项列表创建层次结构。
另一方面,已经有wp_nav_menu
, 将获取该菜单的项目(使用wp_get_nav_menu_items
) 然后将其传递给Walker类,该类将为该菜单生成HTML代码。此功能还将处理给定菜单不存在等情况。建议以主题显示菜单。
另外,我不明白为什么你认为你“必须”写你自己的Walker类。您当然不会。WP将使用它自己的Walker类作为默认类。如果您想自定义该菜单的HTML代码,可以编写过滤器,大多数情况下就足够了。。。
结束