Nascondi i link del menu secondario nel menu mobile

Oggi ti spiego come nascondere ed escludere i link del menu secondario dal menu mobile per evitare duplicati.

Introduzione

Il tema Divi ti consente di impostare un menu principale nell’intestazione principale e un menu secondario nell’intestazione superiore. Se visualizzi il tuo sito su dispositivo mobile, potresti notare che le voci di menu di entrambi i menu vengono visualizzate all’interno dello stesso menu mobile. Ovviamento nel 90% dei casi non ti serve mantenere entrambi, quindi oggi ti spiego come nascondere ed escludere i link di menu secondario dal menu mobile.

Obiettivo

Supponiamo che tu abbia un menu principale e secondario sul tuo sito, in questo modo:

Quindi il tuo menu mobile avrà un aspetto simile all’immagine a sinistra (sotto). Vogliamo rimuovere i link in eccesso dall’intestazione secondaria (tipo i “Secondary Link”), per ottenere il menu come mostrato sotto a destra:

Obiettivo

Supponiamo che tu abbia un menu principale e secondario sul tuo sito, in questo modo:

Nascondi voci di menu secondario nel menu mobile utilizzando CSS

Per escludere gli elementi di navigazione secondari dal menu mobile, puoi utilizzare il seguente codice CSS:

#mobile_menu li:not([id]) {
display:none !important;
}

Post correlato: come aggiungere codice CSS al tema Divi.

Funziona controllando se gli elementi hanno un ID (infatti ai link nel menu secondarie non viene assegnato un ID da Divi, mentre quelli del menu principali si).

Nota che ci sono alcune situazioni in cui questo codice non funziona, tipo, se stai visualizzando lo stesso menu sia nell’intestazione primaria che in quella secondaria. In tal caso, prova la soluzione PHP di seguito.

Nascondi gli elementi del menu secondario nel menu mobile utilizzando PHP

Il codice CSS sopra utilizza una stranezza di Divi – che ai link di menu secondario non vengono assegnati gli ID – per eseguire il trucco. Un modo più affidabile è usare PHP per aggiungere prima una classe agli elementi per contrassegnarli esplicitamente con il menu da cui provengono, in questo modo:

add_filter(‘wp_nav_menu_objects’, ‘db105_add_location_class_to_menu’, 10, 2);

if (!function_exists(‘db105_add_location_class_to_menu’)) {
function db105_add_location_class_to_menu($menu_items, $args) {
if (is_array($menu_items)) {
foreach($menu_items as $item) {
if (isset($args->theme_location) && isset($item->classes) && is_array($item->classes)) {
$item->classes[] = ‘dbdb_’.$args->theme_location;
}
}
}
return $menu_items;
}
}

Post correlato: come aggiungere codice PHP al tema Divi.

È ora possibile utilizzare il seguente CSS per nascondere le voci del menu secondario:

#mobile_menu li.dbdb_secondary-menu {
display:none !important;
}

Per concludere

Oggi hai imparato come nascondere i link del menu secondario dal menu mobile in pochi passaggi con il codice PHP e CSS. Questa risorsa è molto utile ai designer che usano Divi tutti i giorni per fare menu secondari nel sito dei clienti.
Se hai dubbi, domande o vuoi aggiungere qualcosa, scrivi sotto nei commenti 🙂

Mostra/Nascondi Commenti (0 commenti)
L

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato.

Ti potrebbe anche interessare…