我正在为某人建立一个网站,他们希望该网站使用英语和法语。我有一个名为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 • Taxi La Roche Bernard & 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; ?>
这段代码似乎工作正常,直到我开始制作网站的英文版(法语菜单显示)。但是,当我将第一项添加到英语菜单时,英语菜单始终显示。
有谁知道为什么英文菜单一直在显示以及如何修复它?
由于