当有多个菜单时,在li的菜单上丢失页面ID

时间:2018-09-05 15:16:54

标签: php wordpress

我创建了一个菜单,并在页面上输出...菜单的每个li的页面ID为id,使我可以定位特定的li。 / p>

当我为同一菜单添加第二和第三位置时,所有ID都消失了,由于不再输出ID,我的很多样式都弄乱了。 当有多个菜单时,我该如何找回它们?

我正在使用以下命令注册3个菜单位置:

// Register our themes menu locations
function register_menus() {
    register_nav_menu('primary-menu', __('Primary Menu'));
    register_nav_menu('mobile', __('Mobile Menu'));
    register_nav_menu('products', __('Products Menu'));        
    register_nav_menu('footer-menu', __('Footer Menu'));
}
add_action('init', 'register_menus');

将相同菜单分配给3个位置:

enter image description here

然后在我的模板中输出以下内容:

<?php if ( has_nav_menu( 'primary-menu' ) ) {
wp_nav_menu( array(
  'container'=>'div',
  'menu_class'=>'1',
  'theme_location' => 'primary-menu',
  'walker' => new CSS_Menu_Maker_Walker(),
  'items_wrap' => '<ul class="primary-menu-1">%3$s</li></ul>'
));
} ?>


<?php if ( has_nav_menu( 'mobile' ) ) {
  wp_nav_menu( array(
    'container'=>'div',
    'menu_class'=>'2',
    'theme_location' => 'mobile',
    'walker' => new CSS_Menu_Maker_Walker(),
    'items_wrap' => '<ul class="primary-menu-2">%3$s</li></ul>'
  ));
} ?>


<?php if ( has_nav_menu( 'products' ) ) {
  wp_nav_menu( array(
    'container'=>'div',
    'menu_class'=>'3',
    'theme_location' => 'products',
    'walker' => new CSS_Menu_Maker_Walker(),
    'items_wrap' => '<ul class="primary-menu-3">%3$s</li></ul>'
  ));
} ?>

2 个答案:

答案 0 :(得分:0)

为您添加的所有实例添加  '菜单'=>'名称', 希望对您有帮助

答案 1 :(得分:0)

请添加参数 menu,menu_class,menu_id。

并将此链接用于其他https://developer.wordpress.org/reference/functions/wp_nav_menu/