この関数がWordpressで行うこととほぼ同じことをしようとしています:
add_filter('wp_nav_menu_objects', function ($items) {
$hasSub = function ($menu_item_id, &$items) {
foreach ($items as $item) {
if ($item->menu_item_parent && $item->menu_item_parent==$menu_item_id) {
return true;
}
}
return false;
};
foreach ($items as &$item) {
if ($hasSub($item->ID, &$items)) {
$item->classes[] = 'menu-parent-item'; // all elements of field "classes" of a menu item get join together and render to class attribute of <li> element in HTML
}
}
return $items;
});
この便利な関数は、サブメニューを含む li にクラス「menu-parent-item」をアタッチします。私がやりたいのは、代わりに同じクラス(またはもちろん他の使用可能なクラス)を事前にリンクに追加することです。言い換えれば、私はこれで終わるでしょう:
<li>
<a href="index.php" class="menu-parent-item">Homepage</a>
<ul class="sub-menu">
<li>
などなど。何か案は?