• Zum Inhalt springen
  • Zur Fußzeile springen

Sebastian Widmann | Blog

Webdesign und Web-Entwicklung aus Karlsruhe

  • Startseite
  • Webdesign
  • Knowledgebase
  • Kontakt

Hover-Dropdown-Menü im Genesis-Sample-Theme deaktivieren

18. Februar 2017 von Sebastian Widmann 1 Kommentar

Standardmäßig verhält sich das Genesis-Sample-Theme wie folgt:
Bindet man als Hauptmenü oder im rechten Header-Widget-Bereich ein Menü mit Unterseiten ein, dann werden diese automatisch eingeblendet, sofern man über die darüberliegende Seite mit der Maus fährt.

Bei meinem letzten Theme wollte ich dieses Verhalten bewusst unterbinden, die Lösung ist jedoch etwas umständlicher in der Umsetzung.

Zunächst muss man Superfish deaktivieren. Superfish ist eine jQuery-Erweiterung, die mit Hilfe von JavaScript die Untermenüpunkte einblendet.

Genesis prüft in der Datei lib/functions/menu.php mit Hilfe der Funktion genesis_superfish_enabled(), ob Superfish aktiviert werden soll. In dieser Funktion erfolgt die Prüfung mittels:

return ( ! genesis_html5() && genesis_get_option( 'superfish' ) ) || genesis_a11y( 'drop-down-menu' ) || apply_filters( 'genesis_superfish_enabled', false );

Um Superfish nun zu aktivieren, müssen alle Kriterien false ergeben. Dazu muss zunächst bei den Genesis-Accessibility-Features das drop-down-menu entfernt werden. Irgendwo in der functions.php des Child-Themes gibt es eine Zeile im Stil von:

add_theme_support( 'genesis-accessibility', array( '404-page', 'drop-down-menu', 'headings', 'rems', 'search-form', 'skip-links' ) );

Diese muss demnach geändert werden in:

add_theme_support( 'genesis-accessibility', array( '404-page', 'headings', 'rems', 'search-form', 'skip-links' ) );

Sollte der Filter genesis_superfish_enabled auf true gesetzt sein, muss zusätzlich diese Zeile eingefügt werden:

add_filter( 'genesis_superfish_enabled', '__return_false' );

Per Default im Sample-Theme ist genesis_superfish_enabled jedoch bereits false, so dass diese Zeile nicht erforderlich ist.

Superfish ist nun deaktiviert, allerdings werden die Untermenüpunkte noch immer eingeblendet, wenn man über den entsprechenden Parent-Menüpunkt fährt. Das liegt am CSS des Sample-Themes. Folgende Zeilen müssen noch auskommentiert werden, damit auch das Hovern via CSS unterbunden wird:

.genesis-nav-menu .menu-item:hover {
    /*position: static;*/
}

.genesis-nav-menu .menu-item:hover > .sub-menu {
    /*left: auto;
    opacity: 1;*/
}

Nun werden die Unterpunkte nicht mehr eingeblendet, weder per Superfish, noch per CSS.

Möglicherweise auch interessant:

  • WordPress-Themes updatesicher übersetzen
  • Genesis Framework 2.2.5 veröffentlicht
  • Genesis Font Size Probleme
  • Genesis Übersetzungen bei Update behalten
  • Genesis Footer Widgets von der Startseite entfernen

Kategorie: Allgemein Stichworte: CSS, Genesis, JavaScript, Menü, Superfish, Theme, WordPress

Leser-Interaktionen

Kommentare

  1. Max meint

    11. März 2017 um 12:13

    Danke! Super Artikel, genau das habe ich gebraucht. Vielen Dank dafür, das hat mein Problem gerade gelöst 🙂

    Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Footer

Die neusten Beiträge

  • Lösung für „Die Homematic CCU2 ist noch nicht bereit“ bei Zeitumstellung
  • URL aus Google Chrome Autocomplete löschen
  • macOS-Schlüsselbundprobleme lösen
  • Neuinstallation von macOS High Sierra
  • Mehrere Aufgaben auf einmal in Todoist hinzufügen

Die neusten Kommentare

  • Kollege bei Neuinstallation von macOS High Sierra
  • Karl Nepp bei Lösung für „Die Homematic CCU2 ist noch nicht bereit“ bei Zeitumstellung
  • verena bei Banana Walnut Bread wie von Starbucks
  • Sebastian Widmann bei URL per CronJob aufrufen
  • Pierre bei URL per CronJob aufrufen

© 2018 Sebastian Widmann | Datenschutzerklärung | Impressum | Folge mir auf Twitter

Diese Website nutzt Cookies, um bestmögliche Funktionalität bieten zu können.EinverstandenWeitere Informationen