在 WordPress 子菜单项后添加 div
Adding div after WordPress submenu items
我正在尝试在 WordPress 菜单中的任何子菜单项之后添加 div。我正在 functions.php 文件中处理以下代码:
add_filter( 'nav_menu_link_attributes', 'SubMenuCheck', 10, 3 );
function SubMenuCheck( $atts, $item, $args ) {
if (in_array('menu-item-has-children', $item->classes)) {
$args->after = '<div class="click">+</div>';
}
return $atts;
}
上面的代码添加了新的 div <div class="click">+</div>
,但在第一个 'menu-item-has-children' class:
之后继续将其应用于所有父项和子项
有人知道为什么会重复吗?...我只希望 div 显示带有 menu-item-has-children
class.
的项目
谢谢
我不使用 nav_menu_link_attributes
过滤器,要添加一个按钮(在语义上是正确的)作为切换子项的热点,我使用以下内容:
function prefix_add_button_after_menu_item_children( $item_output, $item, $depth, $args ) {
if ( $args->theme_location == 'primary' ) {
if ( in_array( 'menu-item-has-children', $item->classes ) || in_array( 'page_item_has_children', $item->classes ) ) {
$item_output = str_replace( $args->link_after . '</a>', $args->link_after . '</a><button class="sub-menu-toggle" aria-expanded="false" aria-pressed="false"><span class="screen-reader-text">' . _x( 'open dropdown menu', 'verb: open the menu', 'text-domain' ) . '</span></button>', $item_output );
}
}
return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'prefix_add_button_after_menu_item_children', 10, 4 );
我正在尝试在 WordPress 菜单中的任何子菜单项之后添加 div。我正在 functions.php 文件中处理以下代码:
add_filter( 'nav_menu_link_attributes', 'SubMenuCheck', 10, 3 );
function SubMenuCheck( $atts, $item, $args ) {
if (in_array('menu-item-has-children', $item->classes)) {
$args->after = '<div class="click">+</div>';
}
return $atts;
}
上面的代码添加了新的 div <div class="click">+</div>
,但在第一个 'menu-item-has-children' class:
有人知道为什么会重复吗?...我只希望 div 显示带有 menu-item-has-children
class.
谢谢
我不使用 nav_menu_link_attributes
过滤器,要添加一个按钮(在语义上是正确的)作为切换子项的热点,我使用以下内容:
function prefix_add_button_after_menu_item_children( $item_output, $item, $depth, $args ) {
if ( $args->theme_location == 'primary' ) {
if ( in_array( 'menu-item-has-children', $item->classes ) || in_array( 'page_item_has_children', $item->classes ) ) {
$item_output = str_replace( $args->link_after . '</a>', $args->link_after . '</a><button class="sub-menu-toggle" aria-expanded="false" aria-pressed="false"><span class="screen-reader-text">' . _x( 'open dropdown menu', 'verb: open the menu', 'text-domain' ) . '</span></button>', $item_output );
}
}
return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'prefix_add_button_after_menu_item_children', 10, 4 );