Сейчас при нажатии на пункты меню, они могут открыться оба, а как сделать что бы только один отображался, а второй сразу скрывался? Сейчас они могут открываться оба и это ломает верстку
<ul>
<li class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-has-children">
<a href="#">Пункт 1</a>
<ul class="sub-menu">
<li>Подпункт 1</li>
<li>Подпункт 2</li>
<li>Подпункт 3</li>
</ul>
</li>
<li class="menu-item menu-item-type-custom menu-item-object-custom">
<a href="#">Пункт 2</a>
</li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-product_cat menu-item-has-children">
<a href="#">Пункт 3</a>
<ul class="sub-menu">
<li>Подпункт 1</li>
<li>Подпункт 2</li>
<li>Подпункт 3</li>
</ul>
</li>
</ul>
.sub-menu { display: none; }
.open .active { display: block; }
document.querySelector('ul').onclick = function(ev) {
let listItem = ev.target.closest('.menu-item-has-children');
if (!listItem) return
listItem.classList.toggle('open');
listItem.querySelector('.sub-menu').classList.toggle('active');
}