📜  如何在 wordpress 中获取菜单项 (1)

📅  最后修改于: 2023-12-03 14:52:38.651000             🧑  作者: Mango

如何在 WordPress 中获取菜单项

在 WordPress 的开发中,我们经常需要获取菜单项并进行相应的处理。本文将介绍如何在 WordPress 中获取菜单项。

1. 获取菜单所在位置

在 WordPress 中,一个主题通常会有多个菜单,而且菜单一般会放置在不同的位置上。因此,我们需要先获取菜单所在的位置,然后才能进一步获取该位置上的菜单项。

获取菜单位置的方法是使用 get_nav_menu_locations() 函数。这个函数会返回一个关联数组,其中键是菜单的位置名,值是菜单所在的位置 ID。

$locations = get_nav_menu_locations();
$primary_location = $locations['primary-menu'];

上面的代码演示了如何获取名为 primary-menu 的位置对应的菜单 ID。

2. 获取菜单项

有了位置 ID,我们就可以使用 wp_get_nav_menu_items() 函数来获取该位置上的菜单项。

$items = wp_get_nav_menu_items($primary_location);
foreach ($items as $item) {
    // 处理菜单项
}

上面的代码演示了如何获取 primary-menu 位置的菜单项,并对每个菜单项进行处理。

3. 菜单项的属性

获取到菜单项后,我们可以从菜单对象中获取各种属性,进行相应的处理。

以下是菜单项对象的一些属性和方法:

  • $item->ID:菜单项 ID。
  • $item->title:菜单项标题。
  • $item->url:菜单项链接 URL。
  • $item->menu_order:菜单项在菜单中的排序位置。
  • $item->classes:菜单项 CSS 类数组。
  • $item->menu_item_parent:菜单项的父级菜单项 ID,如果没有父级菜单项则为 0。
  • $item->object:菜单项类型,如 pagepostcategorycustom 等。
  • $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() 函数获取菜单项,最后通过菜单项对象的属性和方法来处理菜单项。