作为我上一次关于菜单的未解决查询的后续,这个问题已经进一步扩展。
我的菜单没有打印代码中的任何地方。
我正在注册菜单功能。php:
add_action( \'after_setup_theme\', \'your_newtheme_setup\' );
if ( ! function_exists( \'your_newtheme_setup\' ) ) :
function your_newtheme_setup() {
if (function_exists(\'register_nav_menu\')) {
register_nav_menus(
array(
\'main-menu\' => \'Main Menu\',
\'footer-menu\' => \'Footer Menu\',
\'products-menu\' => \'Products Menu\',
\'legal-menu\' => \'Legal Menu\'
));
}
}
endif;
然后我调用标题中的菜单。php:
wp_nav_menu( array( \'theme_location\' => \'main-menu\' ) );
这导致未打印任何内容!
我还试图在侧边栏的页脚中包含菜单。php中,我使用“自定义菜单”小部件创建了一个小部件,并创建了3个自定义菜单:页脚菜单、产品菜单和;合法菜单,而且没有任何菜单被打印!
小部件至少打印小部件的标题,但菜单本身不会生成任何内容!
这显然是我主题中所有菜单的问题,我似乎无法解决!
重要提示:我使用wordpress文档中的以下代码手动构建了主菜单:
$menu_name = \'main-menu\';
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_name . \'">\';
foreach ( (array) $menu_items as $key => $menu_item ) {
$title = $menu_item->title;
$url = $menu_item->url;
$menu_list .= \'<li><a href="\' . $url . \'">\' . $title . \'</a></li>\';
}
$menu_list .= \'</ul>\';
} else {
$menu_list = \'<ul><li>No Menu</li></ul>\';
}
echo $menu_list;
?>
其他信息:
我在函数wp\\u nav\\u menu()中进行了一些调试,发现菜单项在调用过程中消失:
$items = apply_filters( \'wp_nav_menu_items\', $items, $args );
文件:nav菜单模板中的第223行(或大约223行)。php