我将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方法?
答案 0 :(得分:1)
我能够通过添加另一个名为&#34; menu_class&#34;的文章解决它,所以代码现在看起来像这样:
<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>
不确定我是否应该离开&#34; container_class&#34;那里的论点,但它正在使用&#34; menu_class&#34;。
答案 1 :(得分:1)
这就是wordpress文档中关于菜单的container
参数的说法:
'container'(string)是否包装ul,以及包装它的内容。 默认'div'。
这就是包装已经生成的ul
,container_class
用于该包装,而不是ul
本身。
但您可能希望改为使用items_wrap
:
'items_wrap'(字符串)如何包装列表项。默认是 带有id和class的ul。使用带编号的printf()格式 占位符。
另见https://developer.wordpress.org/reference/functions/wp_nav_menu/