kre8tiv / urwahl3000

Freies Wordpress-Theme für GRÜNE Köpfe & Gliederungen
GNU General Public License v3.0
17 stars 14 forks source link

SubMenu > 2 levels #61

Closed Doogiemuc closed 4 years ago

Doogiemuc commented 4 years ago

Hallo kre8tiv Team! Danke für euer tolles Urwahl3000 Theme. Sieht echt gut aus und ist ganz gut konfigurierbar. Wir nutzen es für unsere gruene-dachau.de Seite.

Ich versuche gerade ein Untermenü mit mehr als 2 Ebenne zu gestalten. Ich habe bereits herausgefunden, dass das Menü in Theme / functions / theme-functions.php auf 2 Ebenen beschränkt wird.

/*********************
MENUS & NAVIGATION
*********************/

// the main menu
function kr8_nav_main() {
    // display the wp3 menu if available
    wp_nav_menu(array(
        'container' => false,                           // remove nav container 
        'menu_class' => 'navigation clearfix',         // adding custom nav class
        'theme_location' => 'nav-main',                 // where it's located in the theme
        'before' => '',                                 // before the menu
        'after' => '',                                  // after the menu
        'link_before' => '',                            // before each link
        'link_after' => '',                             // after each link
        'depth' => 2,                                   // limit the depth of the nav    <==========
        'fallback_cb' => 'kr8_main_nav_fallback'      // fallback function
    ));
} /* end kr8 main nav */

Wenn ich jedoch den Parameter depts auf 3 ändere passt das CSS layout nicht mehr. Die Untermenüs auf dritter Ebene werden sofort überlappend angezeigt. Ohne :hover. Sieht nicht schön aus.

https://ibb.co/1LQf1R8

Gibt es vielleicht eine neuere Verison des Templates in der das geht?

modulbuero commented 4 years ago

Hallo Robert,

danke für deine Nachricht. Tatsächlich sind hier gleich mehrere Probleme zu erwarten:

  1. Wie von dir angesprochen reicht das CSS nicht für mehr als 2 Ebenen aus. Hier kannst du gern einen Vorschlag machen, wie das aussehen könnte, und diesen als Pull-Request hier einstellen. Wobei ich mir selbst noch nicht so sicher bin, ob 3 Ebenen hier wirklich sinnvoll sind, aber das käme auf einen Versuch an.

  2. Liegt die theme-functions.php ja innerhalb des zu updatenden Theme und darf/sollte deshalb nicht direkt bearbeitet werden. Hierfür müsste also ein Child-Theme erstellt werden – womit wir gleich zu 3. kommen:

  3. Ist die function kr8_nav_main() nicht pluggable ausgeführt – du kannst sie also im Child-Theme nicht ohne weiteres überschreiben. Stattdessen müsste man also vermutlich mit einem Filter arbeiten. Dafür würde sich vermutlich wp_nav_menu_args anbieten. Oder aber wir ändern die function mit einem Update auf pluggable.

Das vielleicht mal als ein paar Anstöße. Hilft dir das in deinen Überlegungen schon einmal weiter?

Viele Grüße, Christian

Doogiemuc commented 4 years ago

Hallo Christian! Vielen herzlichen Dank für die schnelle Antwort. Ja auf genau diese Herausforderungen bin ich dann auch gestoßen.

Wir haben jetzt letztenldich doch eine andere Lösung gefunden: Wir nutzen ein Wordpress Tab Plugin. Damit haben wir die nötige dritte Unterebene.

modulbuero commented 4 years ago

Alles klar, danke für die Rückmeldung!