Si bien sería FÁCIL usar algo como jQuery para envolver los menús secundarios, NO es una buena práctica usar jQuery para este propósito. Colocar esto en 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";
}
}
Estoy asumiendo que su menú se está generando en su cabecera, así que vaya a header.php (o cualquier archivo es la utilización de la función wp_nav_menu) y buscar cualquier cosa que se inicia con "wp_nav_menu".
Como no tengo ningún código para ver, solo puedo adivinar los argumentos que está usando (si corresponde). Si se ve exactamente como "wp_nav_menu()" sin nada entre paréntesis, a continuación, cambiar a la siguiente:
wp_nav_menu(array('walker' => new Child_Wrap()))
De lo contrario, por favor, edite su pregunta con el código que su menú está utilizando para que pueda ayudarle promover.
Esto funcionó como un amuleto (Wordpress 3.8.1). – bgondy
Works Perfect (Wordpress 4.4) –
¿Por qué esto no funciona en v4.4.2? En mi tema todavía sin contenedor de 'ul.sub-menu' tengo :( – X9DESIGN