在WordPress中为不同区域使用不同的菜单

时间:2012-06-28 18:46:36

标签: php wordpress wordpress-theming

我正在为某人建立一个网站,他们希望该网站使用英语和法语。我有一个名为fr的页面用于法语版本,一个名为en用于英文版本。

当我设置新页面时,我告诉它父页面是en或fr。我编写了菜单,如果父母是fr,它应该显示法语版本,如果是en,它应该显示英文版本:

的functions.php

add_theme_support( 'nav-menus' );
    if( function_exists( 'register_nav_menus' ) ) {
        register_nav_menus(
        array(
            'english_menu' => 'English Menu',
            'french_menu' => 'French Menu'
        )
    );
}

的header.php

<?php if( have_posts() ) : while( have_posts() ) : the_post(); ?>
    <header>
    <h1>
        <a href="<?php bloginfo( 'url' ) ?>" class="ir">
            Taxi Nicolas &#8226; Taxi La Roche Bernard &amp; Nivillac
        </a>
    </h1>

    <?php if( $post->post_parent == 8 ) : ?>
        <nav id="primary_menu">
            <?php
            wp_nav_menu(
            array(
                        'menu' => 'french_menu',
            'container' => false,
            'menu_class' => ''
                    )
        );
                ?>
    </nav>
        <?php elseif( $post->post_parent == 16 ) : ?>
        <nav id="primary_menu">
            <?php
            wp_nav_menu(
            array(
                        'menu' => 'english_menu',
            'container' => false,
            'menu_class' => ''
                    )
        );
                ?>
    </nav>                  
    <?php endif; ?>
</header>                

    <?php the_content( 'Read More...' ) ?>
<?php endwhile; else : ?>
    <p><?php _e( 'No posts were found. Sorry!' ) ?></p>
<?php endif; ?>

这段代码似乎工作正常,直到我开始制作网站的英文版(法语菜单显示)。但是,当我将第一项添加到英语菜单时,英语菜单始终显示。

有谁知道为什么英文菜单一直在显示以及如何修复它?

由于

0 个答案:

没有答案