我在 function.php 文件中添加了二级菜单,WordPress 也允许我选择二级菜单。问题是两个菜单栏同时出现,所以我的主页和关于我们页面的顶部都有双菜单栏。我尝试做的是仅在我的主主页上显示我的主菜单栏,并在我的关于我们页面、服务页面等上显示二级菜单...我该如何修复它?
function.php 文件
register_nav_menus( array(
'primary' => esc_html__( 'Primary', 'themename' ),
'secondary' => __( 'Secondary Menu', 'themename' ),
) );
Header.php文件
<?php if ( has_nav_menu( 'primary' )
'theme_location' => 'secondary',
'container' => 'nav',
'container_class' => 'navbar navbar-default',
'menu_class' => 'nav navbar-nav navbar-right'
; ?>
<?php
if ( has_nav_menu( 'secondary_navigation_menu' ) ) {
wp_nav_menu( array( 'theme_location' => 'secondary_navigation_menu' ) );
} ?>
<?php if ( is_home() ): ?>
<?php if ( has_nav_menu( 'primary' ) : ?>
//primary menu
<?php endif; ?>
<?php endif; ?>
附言我的两个菜单栏都是不同的 CSS。
我们将不胜感激您的帮助!
最佳答案
如果您浏览 header.php,应该有类似这样的内容。
if ( has_nav_menu( 'primary' ) : ?>
现在在你的 functions.php 中注册另一个菜单位置
register_nav_menus( array(
'secondary_menu' => 'Secondary Navigation Menu',
'secondary_navigation_menu' => 'My Custom Footer Menu',
) );
在 if ( has_nav_menu( 'primary' ) : ?>
部分之后应该有代码来显示类似
wp_nav_menu( array(
'theme_location' => 'secondary',
'container' => 'nav',.......
在此之后添加
<?php
if ( has_nav_menu( 'secondary_navigation_menu' ) ) {
wp_nav_menu( array( 'theme_location' => 'secondary_navigation_menu' ) );
} ?>
现在只在首页显示主菜单 wrap is_home() like
<?php if ( is_home() ): ?>
<?php if ( has_nav_menu( 'primary' ) : ?>
//primary menu
<?php endif; ?>
<?php endif; ?>
如果您不希望您的主菜单出现在主页上,请点赞
<?php if ( ! is_home() ): ?>
<?php if ( has_nav_menu( 'secondary_navigation_menu' ) : ?>
//secondarymenu
<?php endif; ?>
<?php endif; ?>
关于php - 如何仅在特定页面上显示 Wordpress 二级菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39435046/