Wordpress儿童主题,添加二级菜单

时间:2011-01-23 00:43:53

标签: wordpress menu wordpress-theming woothemes

    <?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 {
    ?>

我正在尝试在我的functions.php我的孩子主题Woothemes Canvas中添加一个来自Wordpress菜单管理的辅助菜单。 我认为有一种方法可以将它添加到上面的数组中,但我无法让它工作。想法?

2 个答案:

答案 0 :(得分:5)

杰森,你首先需要在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' ) );
    }

如果两个菜单都存在,则第二个菜单将输出两个菜单,除了您在初始问题中发布的菜单之外,第一个菜单可能会被使用。

答案 1 :(得分:0)

但在我的情况下,我没有使用init动作,只是将菜单寄存器功能放在我的子主题的function.php文件中

register_nav_menu( 'footer', 'Footer Menu' );