📅  最后修改于: 2023-12-03 14:52:38.651000             🧑  作者: Mango
在 WordPress 的开发中,我们经常需要获取菜单项并进行相应的处理。本文将介绍如何在 WordPress 中获取菜单项。
在 WordPress 中,一个主题通常会有多个菜单,而且菜单一般会放置在不同的位置上。因此,我们需要先获取菜单所在的位置,然后才能进一步获取该位置上的菜单项。
获取菜单位置的方法是使用 get_nav_menu_locations()
函数。这个函数会返回一个关联数组,其中键是菜单的位置名,值是菜单所在的位置 ID。
$locations = get_nav_menu_locations();
$primary_location = $locations['primary-menu'];
上面的代码演示了如何获取名为 primary-menu
的位置对应的菜单 ID。
有了位置 ID,我们就可以使用 wp_get_nav_menu_items()
函数来获取该位置上的菜单项。
$items = wp_get_nav_menu_items($primary_location);
foreach ($items as $item) {
// 处理菜单项
}
上面的代码演示了如何获取 primary-menu
位置的菜单项,并对每个菜单项进行处理。
获取到菜单项后,我们可以从菜单对象中获取各种属性,进行相应的处理。
以下是菜单项对象的一些属性和方法:
$item->ID
:菜单项 ID。$item->title
:菜单项标题。$item->url
:菜单项链接 URL。$item->menu_order
:菜单项在菜单中的排序位置。$item->classes
:菜单项 CSS 类数组。$item->menu_item_parent
:菜单项的父级菜单项 ID,如果没有父级菜单项则为 0。$item->object
:菜单项类型,如 page
、post
、category
、custom
等。$item->object_id
:菜单项关联的对象 ID。foreach ($items as $item) {
$title = $item->title;
$url = $item->url;
$classes = implode(' ', $item->classes);
// ...
}
本文介绍了如何在 WordPress 中获取菜单项。通过 get_nav_menu_locations()
函数获取菜单位置,再通过 wp_get_nav_menu_items()
函数获取菜单项,最后通过菜单项对象的属性和方法来处理菜单项。