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é