WP Twentyfifteen Dropdown Menü anpassen

  • Hallo liebe WordPress Freunde.

    Bei meiner neuen Thai Massage Verzeichnis Website möchte ich sehr gerne folgendes geändert haben:

    Ich habe verschiedene Kantone der Schweiz in meinem Menü eingebaut. Für jeden Kanton werden dann im Untermenü Städte oder Dörfer angezeigt. Soweit so gut, was mich nun aber extrem stört, ist die Tatsache das man auf den Pfeil im Menü drücken muss, damit die Unterkategorien angezeigt werden. Wie kann ich das nun ändern, damit beim Klick auf den Kantonsnamen (oder noch besser, das ganze Feld) das Dropdown Menü aufspringt? Ich hoffe ich habe mich verständlich ausgedrückt.

    Ich würde mich wirklich sehr freuen wenn mir jemand helfen könnte...

    Beste Grüsse, Schneemann

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Du müsstest dir ein kleines Javascript schreiben, in etwa so

    Code
    ( function( $ ) {
      $('.menu-item-has-children').click(function () {
          $(this).find('.sub-menu').toggleClass('toggled-on');
        $(this).find('.dropdown-toggle').toggleClass('toggle-on');
      });
      $('.menu-item-has-children').find('button').click(function () {
          $(this).next('.sub-menu').toggleClass('toggled-on');
        $(this).toggleClass('toggle-on');
      });
    } )( jQuery );


    Ungetestet mit Risiko auf Nebenwirkungen.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Hi SirEctor

    Ich habe vorher gleich ein Backup gemacht, deshalb passt das... :)
    Aber an welche Stelle, in welche .php Datei muss ich das einfügen?

    Besten Dank für die Antwort

  • Du legst dir irgendwo selber eine my-toggle-subnav.js mit o. g. Inhalt an. Dann kommt in die functions.php deines Child-Themes das

    Code
    function my_enqueue_scripts()
    {
        wp_register_script( 'my-toggle', get_stylesheet_directory_uri() . '/js/my-toggle-subnav.js');
        wp_enqueue_script( 'my-toggle' );
    }
    add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts' );

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Ist es folgendermassen richtig:

    - Ich erstelle eine Datei mit dem entsprechenden Inhalt und benenne diese my-toggle-subnav.js
    - Danach lade ich diese via FTP in den Hauptordner meiner Wordpress Installation (ersetzen?)
    - Danach bearbeite ich meine PHP Datei und füge deinen Code ein? Egal an welche stelle?

    Kann ich das auch ohne Child Theme machen?

  • Das ist fast richtig:

    • du erstellst eine Datei mit entsprechendem Inhalt. Der Name ist egal, Hauptsache .js am Ende. Kannst dich gerne an meine Musternamen halten.
    • per FTP ins Childtheme in den Ordner js (/wp-content/themes/twentyfifteen-child/js/ o.ä.)
    • danach fürs Childtheme eine functions.php anlegen und o. g. Code einfügen. Die functions.php muss mit
      PHP
      <?php

      anfangen, also so in etwa

      PHP
      <?php
      
      
      function my_enqueue_scripts()
      {
          wp_register_script( 'my-toggle', get_stylesheet_directory_uri() . '/js/my-toggle-subnav.js');
          wp_enqueue_script( 'my-toggle' );
      }
      add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts' );


    Ohne Childtheme würde ich es nicht machen, da nach einem Update sonst die Änderungen wieder weg sind. Aber es gibt auch Plugins, die das erledigen

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Phuu ganz schön kompliziert. Ich dachte das sei eine schnelle Geschichte. Ich werde mich in demfall zuerst mit Child Themes auseinander setzen müssen, bevor ich deine Lösung umsetzen kann. Aber ich danke dir aufjedenfall jetzt schon für alles...

    Ich werde mich melden wenn ich es umsetzen konnte.

    Beste Grüsse, Schneemann

  • Alternativ kann man das Einbinden auch als kleines eigenes Plugin verpacken, z.B. so ( .js ungetestet):

  • @b3317133: Die Idee gefällt mir gut, obwohl Plugins meist Themeübergreifend agieren sollen.

    @snowman: die my-toggle-subnav.zip runterladen und als Plugin bei dir installieren. Damit sollte es funktionieren.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Hast du es eingebunden und aktiviert? Und was genau hat nicht funktioniert?

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Also runtergeladen, raufgeladen und aktiviert. Hätte ich noch was zusätzlich machen sollen?
    Es war noch alles gleich wie im original Theme...

  • Ich sehe im Quellcode zumindest nicht, dass es aktiviert ist.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Versuche es mal so

    Code
    jQuery(document).ready(function( $ ) {
      $('.menu-item-has-children').click(function () {
          $(this).find('.sub-menu').toggleClass('toggled-on');
        $(this).find('.dropdown-toggle').toggleClass('toggle-on');
      });
      $('.menu-item-has-children').find('button').click(function () {
          $(this).next('.sub-menu').toggleClass('toggled-on');
        $(this).toggleClass('toggle-on');
      });
    });


    Im Verzeichnis /wp-content/plugins/my-toggle-subnav/ kannst du die Datei my-toggle-subnav.js einfach bearbeiten.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Es geht, es geht :)

    ABER: Es ist mir aufgefallen, dass nun die vorher geöffneten Kantone nicht mehr automatisch schliessen wenn man einen anderen Kanton öffnet. Kann man das auch ändern? Und wie sieht es nun mit der Sicherheit aus, ist vielleicht ne blöde Frage, aber ist dieses Plugin nun auch eine potenzielle Sicherheitslücke?

    Beste Grüsse, Schneemann

  • War das vorher so? Ich meine TwentyFifteen macht das von natur aus nicht. Bin jetzt leider nicht mehr am PC. Kann erst später/morgen wieder schauen.

    Das Plugin ist keine Sicherheitslücke. Es bindet lediglich 2 Dateien ein.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Habe grad gesehen, dass das mit den geöffneten Kantonen gar nicht so schlimm ist. Sobald man nämlich eine Stadt wählt, schliessen sich nachher alle geöffneten Kantone wieder. Top, einfach nur Top! Ich danke euch von ganzem Herzen ihr seit echt super! Aber eine Sache noch...

    Wie sieht es mit zukünftigen Theme Updates aus, muss ich mir da keine Gedanken machen?
    Und wie sieht es mit der Sicherheit aus? Ist dieses Plugin ein Problem oder eher nicht?

    Beste Grüsse, Schneemann

    Thank you sooo much[size=14]: [/SIZE]
    [size=14][size=14]SirEctor[/SIZE]
    b3317133[/SIZE]

  • Durch das Plugin, sollten Updates keine Problem darstellen. Wenn du ganz viel Zeit und Lust hast, würde ich es persönlich über ein Childtheme machen. Aber so geht es auch.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!