Podczas gdy byłoby łatwo użyć czegoś takiego jak jQuery do zawijania menu podrzędnych, NIE jest dobrą praktyką używanie jQuery do tego celu. Umieść to w functions.php:
class Child_Wrap extends Walker_Nav_Menu
{
function start_lvl(&$output, $depth = 0, $args = array())
{
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<div class=\"custom-sub\"><ul class=\"sub-menu\">\n";
}
function end_lvl(&$output, $depth = 0, $args = array())
{
$indent = str_repeat("\t", $depth);
$output .= "$indent</ul></div>\n";
}
}
jestem przy założeniu, że menu jest generowane w nagłówku, więc idź do header.php (lub cokolwiek plik wykorzystuje funkcję wp_nav_menu) i patrzeć na wszystko, co zaczyna z "wp_nav_menu".
Ponieważ nie mam żadnego kodu do wyświetlenia, mogę tylko odgadnąć argumenty, których używa (jeśli są). Jeśli wygląda dokładnie tak samo jak „wp_nav_menu()” z niczego pomiędzy nawiasami, a następnie zmienić go na następujące kwestie:
wp_nav_menu(array('walker' => new Child_Wrap()))
W przeciwnym razie, proszę edytować swoje pytanie z kodem, że menu jest przy użyciu tak mogę pomóc dalej.
To działało jak zaklęcie (Wordpress 3.8.1). – bgondy
Działa idealnie (Wordpress 4.4) –
Dlaczego to nie działa w wersji 4.4.2? W moim motywie wciąż bez pojemnika z 'ul-menu' mam :( – X9DESIGN