WordPress add dynamic category sub-menu from a custom post type
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 |
//CREATE CUSTOM DYNAMIC MENU // DEFINE POSITION OF THE ADDING MENU ITEMS add_filter('wp_nav_menu_items', 'new_nav_menu_items', 10, 2); function new_nav_menu_items($items, $args) { if( ($args->theme_location == 'primary-menu')){ $items_array = array(); while ( false !== ( $item_pos = strpos ( $items, '<li', 1 ) ) ){ $items_array[] = substr($items, 0, $item_pos); $items = substr($items, $item_pos); } $items_array[] = $items; $add_menu_item = '<ul class="sub-menu">'; $terms = get_terms('event-category'); foreach ( $terms as $term ) { //echo $term->name.'<br />'; $add_menu_item .= '<li class="menu-item"><a href="'.get_site_url().'/programmation/?_sft_event-category='.$term->slug.'" class="menu-item-link">'.$term->name.'</a></li>'; } $add_menu_item .= '</ul>'; array_splice($items_array, 2, 0, $add_menu_item); $items = implode('', $items_array); } return $items; } |