<?php
if ( function_exists('has_nav_menu') && has_nav_menu('primary-menu') ) {
wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'main-nav', 'menu_class' => 'nav fl', 'theme_location' => 'primary-menu' ) );
} else {
?>
我正在尝试在Woothemes Canvas的子主题的functions.php中的Wordpress菜单管理中添加辅助菜单。我认为有一种方法可以将其添加到上面的数组中, 但是我无法使其正常工作。有什么想法吗?
#1
杰森, 你首先需要使用register_nav_menu()注册”新”(辅助)菜单, 例如:
add_action( 'init', 'register_my_menu' );
function register_my_menu() {
register_nav_menu( 'secondary-menu', __( 'Secondary Menu' ) );
}
你可以在主题的functions.php文件中执行此操作。
然后, 你可以在模板文件中调用该菜单。要使用上面的代码, 你可能需要类似以下内容:
if ( function_exists('has_nav_menu') && has_nav_menu('secondary-menu') ) {
wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'secondary-nav', 'menu_class' => 'nav fl', 'theme_location' => 'secondary-menu' ) );
}
或许
if ( function_exists('has_nav_menu') && has_nav_menu('primary-menu') && has_nav_menu('secondary-menu') ) {
wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'main-nav', 'menu_class' => 'nav fl', 'theme_location' => 'primary-menu' ) );
wp_nav_menu( array( 'sort_column' => 'menu_order', 'container' => 'ul', 'menu_id' => 'secondary-nav', 'menu_class' => 'nav fl', 'theme_location' => 'secondary-menu' ) );
}
第二个菜单将同时输出两个菜单(如果两个菜单均存在), 除了你在初始问题中发布的菜单之外, 第一个菜单可能还会被使用。
#2
但就我而言, 我没有使用init动作, 只是将菜单注册功能放在子主题的function.php文件中
register_nav_menu( 'footer', 'Footer Menu' );
评论前必须登录!
注册