通常我们在WordPress模板主题开发中,会遇到自定义菜单的情况。一般我们使用 wp_nav_menu
函数来输出就行了。
假如我们需要自定义一些链接地址或者名称的话,下面我们给出记录一下代码,可以自定义输出格式,或者数组。
// Get the nav menu based on $menu_name (same as 'theme_location' or 'menu' arg to wp_nav_menu) // This code based on wp_nav_menu's code to get Menu ID from menu slug $menu_name = 'custom_menu_slug'; if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) ) { $menu = wp_get_nav_menu_object( $locations[ $menu_name ] ); $menu_items = wp_get_nav_menu_items($menu->term_id); $menu_list = '<ul id="menu-' . $menu_name . '">'; foreach ( (array) $menu_items as $key => $menu_item ) { $title = $menu_item->title; $url = $menu_item->url; $menu_list .= '<li><a href="'%20.%20$url%20.%20'">' . $title . '</a></li>'; } $menu_list .= '</ul>'; } else { $menu_list = '<ul><li>Menu "' . $menu_name . '" not defined.</li></ul>'; } // $menu_list now ready to output echo $menu_list;
官方文档:wp_get_nav_menu_items() | Function | WordPress Developer Resources