所以我对整个WordPress的事情都很陌生,但无论如何我对HTML / CSS都很有经验。我在WordPress的管理区域内创建了一个新菜单,但是当分配给主题时,它仍然无法正确显示。如果我在这里完全失明,请提前道歉,但PHP也不是我的强项。
以下是相关代码,与菜单在标题部分的位置有关:
<div id="nav-primary" class="nav"><nav>
<?php if ( is_user_logged_in() ) {
wp_nav_menu( array( 'theme_location' => 'logged-in-menu' ) ); /* if the visitor is logged in, this primary navigation will be displayed */
} else {
wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); /* if the visitor is NOT logged in, this primary navigation will be displayed. if a single menu should be displayed for both conditions, set the same menues to be displayed under both conditions through the Wordpress backend */
} ?>
</nav></div><!--#nav-primary-->
我知道'header-menu'指向我设置的新菜单,但它没有显示正确的菜单。相反,它显示了很多菜单项,当我设置的菜单项只有4项时。
任何人都可以对此有所了解吗?我真的很感激一些帮助。
谢谢!
标记
答案 0 :(得分:1)
检查此步骤。
您是否在function.php文件中添加了此功能。如果没有添加此内容。
/ *添加两个自定义菜单* /
function register_my_menus() {
register_nav_menus(
array(
'logged-in-menu' => __( 'Logged in Menu' ),
'header-menu' => __( 'Header Menu' )
)
);
}
add_action( 'init', 'register_my_menus' );
您是否从Appearance&gt;中选择了菜单这两个菜单的菜单?如果否,则创建菜单并选择它。
让我知道你还需要任何帮助。
修改强> 登录和未登录使用菜单的新代码。
/* Add two custom menu */
function register_my_menus() {
register_nav_menus(
array( 'top-menu' => _( 'Top Menu' ),
'header-top-menu' => _( 'Header Top Menu' ) ) );
}
add_action( 'init', 'register_my_menus' );
<?php if ( is_user_logged_in() )
{ wp_nav_menu( array( 'theme_location' => 'top-menu' ) ); }
else { wp_nav_menu( array( 'theme_location' => 'header-top-menu' ) ); }
?>