En Divi Thème WordPress Comment créer un menu mobile avec la possibilité de fermer et d'ouvrir les sous-menus ?
Voici ce que je veux dire:
ÉTAT FERMÉ DES SOUS-MENUS:

et ÉTAT OUVERT DES SOUS-MENUS:

Merci de votre attention !
Voici comment procéder en 3 étapes :
ÉTAPE 1:
Créer un nouveau fichier menu.js et le mettre dans votre Thème enfant de Divi (dans mon cas, mon thème enfant s'appelle derma) :

Placez le code suivant dans le fichier menu.js:
jQuery(document).ready(function($){
function ds_setup_collapsible_submenus() {
var $menu = $('.et_mobile_menu'),
top_level_link = '.et_mobile_menu .menu-item-has-children > a';
$menu.find('a').each(function() {
$(this).off('click');
if ( $(this).is(top_level_link) ) {
$(this).attr('href', '#');
}
if ( ! $(this).siblings('.sub-menu').length ) {
$(this).on('click', function(event) {
$(this).parents('.mobile_nav').trigger('click');
});
}
else {
$(this).on('click', function(event) {
event.preventDefault();
$(this).parent().toggleClass('visible');
});
}
});
}
setTimeout(function() {
ds_setup_collapsible_submenus();
}, 700);
});
ÉTAPE 2:
Lier le menu.js dans l'onglet intégration dans Divi >> Options du Thème >> Intégration >> Ajouter le code dans le de votre blog.
Dans mon cas, le code (le chemin complet vers le fichier menu.js) est :
<script type='text/javascript' src='https://derma-am.com/wp-content/themes/derma/menu.js'></script>

ÉTAPE 3:
Ajoutez le code suivant dans votre page Divi's style.css:
/* Closing sub menu - mobile version */
.et_pb_menu .et_mobile_menu .menu-item-has-children > a,
#main-header .et_mobile_menu .menu-item-has-children > a {
background-color: transparent;
position: relative;
}
.et_pb_menu .et_mobile_menu .menu-item-has-children > a:after, #main-header .et_mobile_menu .menu-item-has-children > a:after {
font-family: 'ETmodules', sans-serif;
text-align: center;
speak: none;
font-weight: 500;
font-variant: normal;
text-transform: none;
-webkit-font-smoothing: antialiased;
position: absolute;
font-size: 14px;
font-style: italic;
content: '\4c';
top: 11px;
right: 13px;
}
.et_pb_menu .et_mobile_menu .menu-item-has-children.visible > a:after,
#main-header .et_mobile_menu .menu-item-has-children.visible > a:after {
content: '\4d';
}
.et_pb_menu .et_mobile_menu ul.sub-menu,
#main-header .et_mobile_menu ul.sub-menu,
.et-db #et-boc .et-l .et_pb_menu .et_mobile_menu li ul.sub-menu {
display: none !important;
visibility: hidden !important;
transition: all 1.5s ease-in-out;
}
.et_pb_menu .et_mobile_menu li.visible > ul.sub-menu,
#main-header .et_mobile_menu li.visible > ul.sub-menu,
.et-db #et-boc .et-l #main-header .et_mobile_menu li.visible > ul.sub-menu,
.et-db #et-boc .et-l .et_pb_fullwidth_menu .et_mobile_menu li.visible > ul.sub-menu,
.et-db #et-boc .et-l .et_pb_menu .et_mobile_menu li.visible > ul.sub-menu {
display: block !important;
visibility: visible !important;
}
Vous pouvez ajouter n'importe quel texte à la ligne 19 (par exemple) : contenu : 'open \4c' ; et à la ligne 26 (par exemple) : contenu : 'close \4d' ;
Voilà !
Bon appétit 🙂 .
Santé
