个性化阅读
专注于IT技术分析

WordPress-wp_nav_menu container_class不更改容器类

我将arguments数组传递给标题, 如下所示:

<nav class="header__social-menu">
  <?php
    $args = array(
      'theme_location'  => 'social-menu', 'container'       => 'ul', 'container_class' => 'header__social-list', 'link_before'     => '<li class="header__social-item"><a href="#" class="header__social-link">', 'link_after'      => '</a></li>', );
    wp_nav_menu( $args );
  ?>
</nav>

但是, 作为ul元素的容器没有获得分配给它的类” header__social-list”, 而是得到了” menu”类。

是否有可能为了遵循BEM方法而实际更改容器的类别?


#1


我可以通过添加另一个参数” menu_class”来解决它, 因此代码现在看起来像这样:

<nav class="header__social-menu">
  <?php
    $args = array(
      'theme_location'  => 'social-menu', 'container'       => 'ul', 'container_class' => 'header__social-list', 'menu_class' => 'header__social-list', 'link_before'     => '<li class="header__social-item"><a href="#" class="header__social-link">', 'link_after'      => '</a></li>', );
    wp_nav_menu( $args );
  ?>
</nav>

不知道我是否应该将” container_class”参数保留在那里, 但是它正在与” menu_class”一起使用。


#2


这是wordpress文档中有关菜单容器参数的内容:

‘container'(字符串)是否包装ul, 以及包装什么。默认为” div”。

因此, 这是包装已经生成的ul, container_class用于该包装, 而不是ul本身。

但是你可能想改用items_wrap:

‘items_wrap'(字符串)应该如何包装列表项。默认值为带有ID和类的ul。使用带编号占位符的printf()格式。

另请参阅https://developer.wordpress.org/reference/functions/wp_nav_menu/

赞(0) 打赏
未经允许不得转载:srcmini » WordPress-wp_nav_menu container_class不更改容器类
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏