【问题标题】:wp_nav_menu - add class on ULwp_nav_menu - 在 UL 上添加类
【发布时间】:2014-05-09 16:10:21
【问题描述】:

我正在学习wordpressbootstrap,不知何故我无法在UL 标签上添加class

在屏幕截图中,我想在UL 上添加类nav nav-tabs,但它是在父div 上添加的

$defaults = array(
  'menu_class'=> 'nav nav-tabs',        
);

wp_nav_menu( $defaults ); 

被检查的元素:

参考:
http://codex.wordpress.org/Function_Reference/wp_nav_menu

【问题讨论】:

  • 请将您传递的所有参数发布到wp_nav_menu
  • 这是我用 BEM 表示法创建的 stackoverflow.com/questions/59847953/…
  • 您需要确保已设置自定义菜单,选择菜单位置作为顶部菜单。默认的 Wordpress 菜单将不起作用,您将遇到问题。

标签: css wordpress wordpress-theming wp-nav-walker wp-nav-menu-item


【解决方案1】:

首先,您需要从Appearance -> Menus 创建一个自定义导航菜单。

然后,使用带有以下参数的wp_nav_menu

<?php 
$args = array(
    'menu_class' => 'nav nav-tabs',        
    'menu' => '(your_menu_id)'
);
wp_nav_menu( $args ); 
?>

您可以阅读很多有关 Wordpress 菜单的信息。我建议如下:
http://codex.wordpress.org/Navigation_Menus
http://www.paulund.co.uk/how-to-register-menus-in-wordpress

【讨论】:

  • 好像不行。我帖子中的参数是我指定的唯一参数。
  • 您的 wordpress 仪表板中是否定义了菜单? codex.wordpress.org/Appearance_Menus_SubPanel
  • 不,只是默认的。好像还是一样。
  • 好吧,如果你没有菜单,wp_nav_menu 将显示wp_page_menu 函数的输出,它显示所有页面。尝试创建一个菜单,然后使用menu 参数。
【解决方案2】:

更新:这是因为我没有在菜单页面中创建菜单。

我想向wp_nav_menuul 添加一个类。我试过这段代码:

<?php

$defaults = array(
    'menu_class'      => 'menu',
    'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</ul>',
);

wp_nav_menu( $defaults );

?>

根据 wordpress codex 从'menu_class' =&gt; 'menu' 更改菜单,应该更改ul 的类,但它会更改包装uldiv 的类。

【讨论】:

    【解决方案3】:

    您需要指定容器元素,在我们的例子中是'ul' 标签,然后指定我们将在'menu_class' 中分配的类。下面是示例代码:

    wp_nav_menu( array(
        'theme_location' => 'top-menu',
        'container' => 'ul',
        'menu_class'=> '[add-your-class-here]'
     ) );
    

    【讨论】:

      【解决方案4】:

      你应该这样做,它对我有用。

      <?php wp_nav_menu( $menu_meta );
      
      $menu_meta = array(
          'menu' => 'MENU-NAME-HERE',
          'items_wrap' => '<ul id="MENU-ID" class="MENU-CLASS">%3$s</ul>'
      ); ?>
      

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题,所以我把“theme_location”这个词改成了“name”,效果很好。

        例子:

        $defaults = array(
            '[INSTEAD OF PUTTING "theme_location" PUT "name"]'  => 'THE NAME OF YOUR "theme_location"',
            'menu_class' => 'YOUR CLASS', **[It will change the <UL> class]**
            );
        
            wp_nav_menu( $defaults );
        

        所以对于你的代码:

        wp_nav_menu( array(
            'name' => 'top-menu',
            'menu_class'=> 'YOUR CLASS'
         ) );
        
         wp_nav_menu( $defaults );
        

        enter image description here

        您也可以将其放入

        【讨论】:

        猜你喜欢
        • 2013-02-11
        • 2015-02-10
        • 2016-06-11
        • 2013-12-27
        • 2021-02-11
        • 2011-10-16
        • 2014-11-28
        • 2011-04-11
        • 1970-01-01
        相关资源
        最近更新 更多