WordPress如何在主导航下拉菜单后添加<span>
WordPress how to add <span> after main navigation dropdown
我想在具有特定 class.
的主导航 li
元素中添加一个空的 'span'
这是您想要的外观:
<ul>
<li class="menu-item"><a href="#" class="nav-link"></a></li>
<li class="menu-item"><a href="#" class="nav-link"></a></li>
<li class="menu-item has-childern"><a href="#" class="nav-link"></a><span></span></li>
</ul>
我有一个代码可以在每次导航后添加 span link:
add_filter('nav_menu_item_args', function ($args, $item, $depth) {
if ( $args -> theme_location == 'primary') {
$args -> link_after = '<span></span>';
}
return $args;
}, 10, 3);
如何实现只在 'li' 元素中添加 'span',而 'has-children' class?感谢您的帮助!
您可以使用 nav_menu_link_attributes
过滤器挂钩来访问导航属性。
From Documentation
nav_menu_link_attributes
- 'after'
(string) Text after the link markup.
- 'link_after'
(string) Text after the link text.
因此您可以通过多种方式进行设置,例如您可以这样做:
add_filter('nav_menu_link_attributes', 'your_theme_custom_html_element', 10, 3);
function your_theme_custom_html_element($atts, $item, $args)
{
if ($args->theme_location == 'primary' && (strpos($atts['class'], 'has-childern') !== false)) {
$args->after = '<span></span>';
}
return $atts;
}
刚刚在我自己的网站上测试过,它运行得很好!
我想在具有特定 class.
的主导航li
元素中添加一个空的 'span'
这是您想要的外观:
<ul>
<li class="menu-item"><a href="#" class="nav-link"></a></li>
<li class="menu-item"><a href="#" class="nav-link"></a></li>
<li class="menu-item has-childern"><a href="#" class="nav-link"></a><span></span></li>
</ul>
我有一个代码可以在每次导航后添加 span link:
add_filter('nav_menu_item_args', function ($args, $item, $depth) {
if ( $args -> theme_location == 'primary') {
$args -> link_after = '<span></span>';
}
return $args;
}, 10, 3);
如何实现只在 'li' 元素中添加 'span',而 'has-children' class?感谢您的帮助!
您可以使用 nav_menu_link_attributes
过滤器挂钩来访问导航属性。
From Documentation
nav_menu_link_attributes
- 'after'
(string) Text after the link markup.- 'link_after'
(string) Text after the link text.
因此您可以通过多种方式进行设置,例如您可以这样做:
add_filter('nav_menu_link_attributes', 'your_theme_custom_html_element', 10, 3);
function your_theme_custom_html_element($atts, $item, $args)
{
if ($args->theme_location == 'primary' && (strpos($atts['class'], 'has-childern') !== false)) {
$args->after = '<span></span>';
}
return $atts;
}
刚刚在我自己的网站上测试过,它运行得很好!