Dropdown menu – parent & child

Question

I would like to edit this code which shows all the menu items without making a distinction between parent and child.

function krid_responsive_menu() {
$location = 'primary';
$menu_id = "";
$current_page_url = get_permalink();
$locations = get_nav_menu_locations();
$output = '';
if(has_nav_menu($location)) {
$menu = wp_get_nav_menu_object($locations[$location]);
    $menu_id = $menu->term_id;
    $menu_items = wp_get_nav_menu_items($menu_id); /** add filter child element **/
$output .= '<nav id="navigation" class="responsive-navigation"><div class="wrapper">';
$output .= '<div class="responsive-menu"><ul><li id="select-menu-item"><a href="javascript:void(0)">'.__('Pagine','krid').'</a></li>';
foreach((array)$menu_items as $key => $menu_item) {
    $title = $menu_item->title;
        $url = $menu_item->url;
        if($current_page_url == $url) $current_page_class = ' class="current-responsive-page"'; else $current_page_class = '';
    $output .= '<li'.$current_page_class.'><a href="'.$url.'">'.$title.'</a></li>';
}
$output .= '</ul></div>';
$output .= '</div></nav>';
} else {
$menu_items = get_pages('hierarchical=0');
$output .= '<nav id="navigation" class="responsive-navigation"><div class="wrapper">';
$output .= '<div class="responsive-menu"><ul><li id="select-menu-item"><a href="javascript:void(0)">'.__('Pagine','krid').'</a></li>';
foreach($menu_items as $menu_item) {
    $title = $menu_item->post_title;
        $url = get_page_link($menu_item->ID);
    if($current_page_url == $url) $current_page_class = ' class="current-responsive-page"'; else $current_page_class = '';
    $output .= '<li'.$current_page_class.'><a href="'.$url.'">'.$title.'</a></li>';
}
$output .= '</ul></div>';
$output .= '</div></nav>';
}
echo $output; }

What should I write for grouping child elements into a sub-menu (or limit to show only parent?)? Thank you!

0
, , Roberto Ramarro 4 years 2020-02-29T08:40:42-05:00 0 Answers 53 views 0

Leave an answer

Browse
Browse