const popupContainer = document.getElementById('menu-item-2026');
const popupContent = document.getElementById('sub_menu');
popupContainer.addEventListener('mouseover', function() {
popupContent.style.display = 'block';
});
popupContent.addEventListener('mouseover', function() {
popupContent.style.display = 'block';
});
popupContainer.addEventListener('mouseout', function() {
popupContent.style.display = 'none';
});
popupContent.addEventListener('mouseout', function() {
popupContent.style.display = 'none';
});
$('.menu-item-has-children .menu-item-has-children a').on("click", function(e) {
$(this).next('ul').toggle();
e.stopPropagation();
});
Сгенерированный HTML:
- Cross-functional training & tools
- ESG Programme management support
- Industry collaboration & pre-competitive initiatives
- Multi-stakeholder intiatives
add_filter( 'wp_nav_menu_objects', 'submenu_limit', 10, 2 );
function submenu_limit( $items, $args ) {
if ( empty($args->submenu) ) {
return $items;
}
$parent_id = array_pop( wp_filter_object_list( $items, array( 'title' => $args->submenu ), 'and', 'ID' ) );
$children = submenu_get_children_ids( $parent_id, $items );
foreach ( $items as $key => $item ) {
if ( ! in_array( $item->ID, $children ) ) {
unset($items[$key]);
}
}
return $items;
}
function submenu_get_children_ids( $id, $items ) {
$ids = wp_filter_object_list( $items, array( 'menu_item_parent' => $id ), 'and', 'ID' );
foreach ( $ids as $id ) {
$ids = array_merge( $ids, submenu_get_children_ids( $id, $items ) );
}
return $ids;
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... wn-submenu
Мобильная версия