Mentre sarebbe FACILE usare qualcosa come jQuery per avvolgere i menu figli, NON è una buona pratica usare jQuery per questo scopo. Mettere questo in 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";
}
}
Sto assumendo che il vostro menu viene generato nella tua intestazione, in modo da andare a header.php (o qualsiasi file che sta utilizzando la funzione wp_nav_menu) e cercare tutto ciò che inizia con "wp_nav_menu".
Poiché non ho alcun codice da vedere, posso solo indovinare gli argomenti che sta usando (se esiste). Se sembra esattamente come "wp_nav_menu()" con niente in mezzo parentesi, poi modificarlo al seguente:
wp_nav_menu(array('walker' => new Child_Wrap()))
In caso contrario, si prega di modificare la tua domanda con il codice che il menu sta usando in modo da posso aiutarti ulteriore.
Questo ha funzionato come un fascino (Wordpress 3.8.1). – bgondy
Funziona perfettamente (Wordpress 4.4) –
Perché questo non funziona nella v4.4.2? Nel mio tema ancora senza contenitore di 'ul.sub-menu' ho :( – X9DESIGN