Custom menus trong wordpress: vâng trong làm theme chúng ta phải sử dụng cấu trúc html linh hoạt không thể dùng function wp_nav_menu của wordpress để làm vì mã html nó sinh ra không đúng cấu trúc của chúng ta. Hôm nay tôi xin chia sẽ đến anh chị để làm việc này, copy về sửa lại theo yêu cầu của anh chị nhé
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
function clean_custom_menu( $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); //var_dump($menu_items); $menu_list = '<nav>'; $menu_list .= '<ul id="nav" class="nav hidden-sm hidden-xs">' ."\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; if(!empty($menu_items[ $count +1 ]) && ($menu_items[ $count +1 ]->menu_item_parent == $parent_id)){ $menu_list .= '<li class="hidden-sm hidden-xs nav-item has-dropdown">' ."\n"; $menu_list .= '<a class="nav-link" href="'.$link.'" >'.$title.' <i class="fa fa-angle-down" data-toggle="dropdown"></i></a>' ."\n"; } else{ $menu_list .= '<li class="hidden-sm hidden-xs nav-item ">' ."\n"; $menu_list .= '<a class="nav-link" href="'.$link.'" >'.$title.'</a>' ."\n"; } } if ( $parent_id == $menu_item->menu_item_parent ) { if ( !$submenu ) { $submenu = true; $menu_list .= '<ul class="dropdown-menu">' ."\n"; } $menu_list .= '<li class="nav-item-lv2">' ."\n"; $menu_list .= '<a class="nav-link" href="'.$link.'" >'.$title.'</a>' ."\n"; $menu_list .= '</li>' ."\n"; if ( $menu_items[ $count +1 ]->menu_item_parent != $parent_id && $submenu ){ $menu_list .= '</ul>' ."\n"; $submenu = false; } } $count++; } $menu_list .= '</ul></nav>' ."\n"; } else { $menu_list = '<!-- no menu defined in location "'.$theme_location.'" -->'; } echo $menu_list; } //cách xài clean_custom_menu("Vị trí menus") được đăng ký trong theme |
Mọi sự sao chép xin ghi rõ nguồn là fcwordpress.net
Chuyên trang về wordpress: hướng dẫn thiết kế theme, plugin, thủ thuật wordpress