HTML düzeni: http://prntscr.com/cjbz00
İcon font olarak eklenmiştir.
Not: Mantık olarak submenü olan ana menüde <i class="i-menu"></i> kodunun görünmemesi lazım.
function has_children( $pid ) {
$children = get_pages( "child_of={$pid}" );
return ( $children );
}
function bt_ana_menu_duzeni( $theme_location ) {
if ( ($theme_location) && ($locations = get_nav_menu_locations()) && isset($locations[$theme_location]) ) {
$menu = get_term( $locations[$theme_location], 'nav_menu' );
$menu_items = wp_get_nav_menu_items($menu->term_id);
$menu_list .= '<ul class="ic-ana-menu">' ."\n";
$count = 0;
$submenu = false;
foreach( $menu_items as $menu_item ) {
$link = $menu_item->url;
$title = $menu_item->title;
if ( !$menu_item->menu_item_parent ) {
$parent_id = $menu_item->ID;
$menu_list .= '<li class="hıd-'.$parent_id.'">' ."\n";
$menu_list .= '<a href="'.$link.'">'.$title.'<i class="i-menu"></i></a>' ."\n";
}
if ( $parent_id == $menu_item->menu_item_parent ) {
if ( !$submenu ) {
$submenu = true;
$menu_list .= '<ul class="alt-menu">' ."\n";
}
$menu_list .= '<li class="ıd-'.$parent_id.'">' ."\n";
$menu_list .= '<a href="'.$link.'" class="menu-alt-baslik">'.$title.'</a>' ."\n";
$menu_list .= '</li>' ."\n";
if ( $menu_items[ $count + 1 ]->menu_item_parent != $parent_id && $submenu ){
$menu_list .= '</ul>' ."\n";
$submenu = false;
}
}
if ( $menu_items[ $count + 1 ]->menu_item_parent != $parent_id ) {
$menu_list .= '</li>' ."\n";
$submenu = false;
}
$count++;
}
$menu_list .= '</ul>' ."\n";
$menu_list .= '</nav>' ."\n";
} else {
$menu_list = '<!-- no menu defined in location "'.$theme_location.'" -->';
}
echo $menu_list;
}