首页 > 解决方案 > 没有为 wp_nav_menu 申请 container_class

问题描述

我正在尝试在wordpress menu我的 wordpress 主题中添加一个,当我按照在线指定的说明进行操作时,它不起作用。

我有这个functions.php

<?php

function register_my_menus() {
  register_nav_menus(
    array(
      'header-menu' => __( 'Header Menu' ),
      'sidebar-menu' => __( 'Sidebar Menu' )
     )
   );
 }
 add_action( 'init', 'register_my_menus' );

sidebar.php我的主题主题中,我有这个代码

       <?php
        wp_nav_menu(
          array(
            'theme_location' => 'sidebar-menu',
            'container_class' => 'sidebar'
          )
        ); 
        ?>

但是当我检查输出的 HTML 代码时,我的菜单上没有sidebar类,而是给了一个menu类。

为什么?

标签: wordpresswordpress-theming

解决方案


它给你一个<div class="sidebar"><ul class="menu">...</ul></div>(默认包装是<div>标签)

如果要更改<ul>标签上的类,则应添加参数menu_class

wp_nav_menu(
    array(
        'theme_location'  => 'sidebar-menu',
        'container_class' => 'wrapper_class',
        'menu_class'      => 'sidebar',
    )
);

如果你不需要 wrapper <div class="wrapper_class">,那么

wp_nav_menu(
    array(
        'theme_location'  => 'sidebar-menu',
        'container'       => false, 
        'menu_class'      => 'sidebar',

    )
);

推荐阅读