获取 WordPress 菜单树形结构数组自定义万能菜单
要获取WordPress菜单的树形结构数组并创建自定义的通用菜单,您可以使用WordPress的内置函数和一些自定义代码。以下是一个示例,展示如何实现这个功能:
- 首先,您需要在主题的 functions.php 文件中添加以下代码来获取菜单的树形结构数组:
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菜单的名称。
通过执行以上步骤,您将能够获取菜单的树形结构数组并创建自定义通用菜单。这个自定义通用菜单可以在您的主题中的任何地方调用,以显示菜单的树形结构。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
仍然有问题? 我们要如何帮助您?