要获取WordPress菜单的树形结构数组并创建自定义的通用菜单,您可以使用WordPress的内置函数和一些自定义代码。以下是一个示例,展示如何实现这个功能:
function get_menu_tree($menu_name) {
// 获取指定菜单的ID
$locations = get_nav_menu_locations();
$menu_id = $locations[$menu_name];
// 获取菜单的所有项
$menu_items = wp_get_nav_menu_items($menu_id);
// 创建一个树形结构的数组
$menu_tree = array();
foreach ($menu_items as $menu_item) {
$menu_tree[$menu_item>menu_item_parent][] = $menu_item;
}
return $menu_tree;
}
function custom_menu() {
$menu_name = 'your_menu_name'; // 替换为您的菜单名称
$menu_tree = get_menu_tree($menu_name);
// 输出通用菜单
echo '<ul id="custommenu">';
foreach ($menu_tree[0] as $menu_item) {
echo '<li><a href="' . $menu_item>url . '">' . $menu_item>title . '</a>';
if (isset($menu_tree[$menu_item>ID])) {
echo '<ul>';
foreach ($menu_tree[$menu_item>ID] as $sub_menu_item) {
echo '<li><a href="' . $sub_menu_item>url . '">' . $sub_menu_item>title . '</a></li>';
}
echo '</ul>';
}
echo '</li>';
}
echo '</ul>';
}
custom_menu()
函数来显示自定义通用菜单:<?php custom_menu(); ?>
确保将 'your_menu_name'
替换为您的WordPress菜单的名称。
通过执行以上步骤,您将能够获取菜单的树形结构数组并创建自定义通用菜单。这个自定义通用菜单可以在您的主题中的任何地方调用,以显示菜单的树形结构。