将活动添加到祖父母和父母

时间:2021-03-05 22:01:26

标签: php wordpress

我有以下代码。我已经使用 wp_get_nav_menu_items() 构建了一个自定义菜单,但我不确定如何引用当前的祖父级和当前的父级。

任何关于我所缺少的东西的想法都会有很大帮助:

function wp_get_menu_array($current_menu='Menu 1') {

    $menu_array = wp_get_nav_menu_items($current_menu);

    $menu = array();

    function populate_children($menu_array, $menu_item)
    {
        $children = array();
        if (!empty($menu_array)){
            foreach ($menu_array as $k=>$m) {
                if ($m->menu_item_parent == $menu_item->ID) {
                    $children[$m->ID] = array();
                    // print_r($m);
                    $children[$m->ID]['active-class'] = ( $m->object_id == get_the_ID() ) ? 'navbar-nav__grandchild-link--current' : '';
                    $children[$m->ID]['ID'] = $m->ID;
                    $children[$m->ID]['title'] = $m->title;
                    $children[$m->ID]['url'] = $m->url;
                    // this gets admin classes
                    $children[$m->ID]['classes'] = $m->classes[0];
                    unset($menu_array[$k]);
                    $children[$m->ID]['children'] = populate_children($menu_array, $m);
                }
            }
        };
        return $children;
    }

    foreach ($menu_array as $m) {
        if (empty($m->menu_item_parent)) {
            $menu[$m->ID] = array();
            $menu[$m->ID]['ID'] = $m->ID;
            $menu[$m->ID]['title'] = $m->title;
            $menu[$m->ID]['url'] = $m->url;
            $menu[$m->ID]['children'] = populate_children($menu_array, $m);
            // print_r($m);
        }
    }

    return $menu;

}

0 个答案:

没有答案
相关问题