wp_list_pages() aufklappen des spezifischen Kindes nur bei Klick bzw. aktivem Elternt

  • Hallo liebe Forengemeinde!

    Ich bin gerade dabei mich in die Materie der WP-Funktionen zu arbeiten und ein erstes eigenes Theme zu erstellen.
    In meiner Navigation liste ich mit wp_list_pages() den gesamten Menübaum auf. Soweit so gut:

    Punkt 1
    -- Subpunkt 1a
    -- Subpunkt 1b
    -------- Subpunkt 1b1
    -------- Subpunkt 1b2
    -------- Subpunkt 1b3
    -- Subpunkt 1c
    Punkt 2
    -- Subpunkt 2a
    -- Subpunkt 2b
    Punkt 3

    Gibt es irgendeine Möglichkeit, evtl. mittels Schleifen oder ähnlichem in der sidebar die Unterpunkte nur bei Klick auf den Elternpunkt aufzuklappen bzw. anzuzeigen?

    Beispielsweise initiale Darstellung:
    Punkt 1
    Punkt 2
    Punkt 3

    Bei Klick auf Punkt1:

    Punkt 1
    -- Subpunkt 1a
    -- Subpunkt 1b
    -- Subpunkt 1c
    Punkt 2
    Punkt 3

    Dann bei Klick auf Subpunkt 1b:

    Punkt 1
    -- Subpunkt 1a
    -- Subpunkt 1b
    -------- Subpunkt 1b1
    -------- Subpunkt 1b2
    -------- Subpunkt 1b3
    -- Subpunkt 1c
    Punkt 2
    Punkt 3

    Sorry für die umständliche Ausdrucksweise, ich hoffe ich konnte es halbwegs erklären was ich meine.

    Ich wäre Euch für Tipps und Anregungen diesbezüglich sehr dankbar. Ich möchte es ausdrücklich ohne Plugins oder Widgets lösen, das Menü im Originalthema TwentyFourteen kann das nämlich habe ich gesehen. Ich würde es aber gern selbst realisieren. Danke im Voraus!

    mfg Promaetheus

    • 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

  • Das weiß ich nicht. Ich weiß noch nichtmal, was du eigentlich willst …
    Warum ein Menü mit wp_list_pages() und nicht mit wp_nav_menu()?

    Das wp_nav_menu bringt von Haus aus die Klassen mit, mit denen du die gewünschte Darstellung dann über CSS realisieren kannst. Bei wp_list_pages (soweit ich das mit gröblichem Überfliegen erkenne), musst du das alles erst anlegen – ist aber soweit ich sehe, genauso machbar.

    Ähm, ich will dir nicht zu nahe treten, aber
    * du schreibst doch, dass du dich gerade in die Materie einarbeitest (warum sollen wir uns dann für dich einarbeiten?)
    * warum studierst du nicht einfach, wie es beim benannten Standard-Theme Twenty Fourteen gemacht ist (mit wp_nav_menu)?
    * ich würde mich tatsächlich über eine Antwort und Begründung freuen, wenn es einen guten und sinnvollen Grund gibt, wp_list_pages() statt wp_nav_menu() einzusetzen (du hast dich da ja reingefitzt – ich bin eben immer den bequemen Weg gegangen …)

    Gruß
    helix

  • Das machst Du über CSS oder CSS/jQuery. Jedes <li> Element bekommt von WP automatisch unterschiedliche CSS Klassen zugewiesen: https://developer.wordpress.org/reference/functions/wp_list_pages/.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Das weiß ich nicht. Ich weiß noch nichtmal, was du eigentlich willst …
    Warum ein Menü mit wp_list_pages() und nicht mit wp_nav_menu()?

    Das wp_nav_menu bringt von Haus aus die Klassen mit, mit denen du die gewünschte Darstellung dann über CSS realisieren kannst. Bei wp_list_pages (soweit ich das mit gröblichem Überfliegen erkenne), musst du das alles erst anlegen – ist aber soweit ich sehe, genauso machbar.

    Ähm, ich will dir nicht zu nahe treten, aber
    * du schreibst doch, dass du dich gerade in die Materie einarbeitest (warum sollen wir uns dann für dich einarbeiten?)
    * warum studierst du nicht einfach, wie es beim benannten Standard-Theme Twenty Fourteen gemacht ist (mit wp_nav_menu)?
    * ich würde mich tatsächlich über eine Antwort und Begründung freuen, wenn es einen guten und sinnvollen Grund gibt, wp_list_pages() statt wp_nav_menu() einzusetzen (du hast dich da ja reingefitzt – ich bin eben immer den bequemen Weg gegangen …)

    Gruß
    helix

    Es macht keinen Unterschied bei meiner Frage ob ich wp_list_pages() oder wp_nav_menu() verwende, es geht darum die Unterpunkte nur aufzuklappen und deren Kinder, als auch Schwestern anzuzeigen bei aktivem Elternelement.

    Selbstverständlich kann man die anderen Gruppen mit css ausblenden, jedoch dachte ich, kann man die Abfrage modifizieren um "Datenmüll" im Menüobjekt zu verhindern. Geht aber wohl nicht. Programmiere mir somit eine eigene Abfrage bzw. Klasse.

    Anmerkung: Ich habe niemals gesagt oder gefordert dass sich jemand für mich in irgendeine Materie einarbeiten soll. Ich bat Anwender, sprich bereits in die Materie vertiefte/eingedrungene Personen um einen Tipp diese Abfrage zu modifizieren bzw. einen Weg diese Funktion zu erreichen. Die beiden anderen Fragen von dir verstehen sich somit auch als beantwortet.

    [FONT=Verdana]

    Das machst Du über CSS oder CSS/jQuery. Jedes <li> Element bekommt von WP automatisch unterschiedliche CSS Klassen zugewiesen:

    [/FONT]
    [FONT=Verdana]Danke. Das habe ich bereits so gelöst. Es ging mir nur darum die Kinder- und Schwesternelemente des aktiven Parents anzuzeigen, alle anderen zuzuklappen.[/FONT]

    mfg Promaetheus

    Einmal editiert, zuletzt von Promaetheus (5. August 2016 um 12:14)

  • Oh. Dann ist ja alles gut.

    Dann verstehe ich nur eines nicht: wenn du so der Ober-Blicker bist – warum um alles in der Welt bringst du es dann weder fertig, deine Frage so zu formulieren, dass man verstehen kann, was du wirklich wissen willst, noch innerhalb dieser guten Woche zwischen Frage stellen und pushen dir selber die Lösung zu erarbeiten (oder wenigstens näher zu kommen, die Frage nachzubessern …)
    Gut, ich muss ja nicht alles verstehen …
    (Wobei: Gesetzt, du bringst diese Kleinigkeit einfach wirklich nicht fertig – und so sieht es ja aus – dann ist völlig logisch, dass du auf meine Nachfragen so angefressen reagieren musst … alles gut … ohmmmmmm …)

    Gruß
    helix

  • [FONT=Verdana]Danke. Das habe ich bereits so gelöst. Es ging mir nur darum die Kinder- und Schwesternelemente des aktiven Parents anzuzeigen, alle anderen zuzuklappen.[/FONT]

    Ich habe Dir doch den Link zum Developer Handbuch gegeben. Vorletztes Beispiel: https://developer.wordpress.org/reference/func…es/#comment-396
    Das steht der komplette CSS Code wie Du in brauchst.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Oh. Dann ist ja alles gut.

    Dann verstehe ich nur eines nicht: wenn du so der Ober-Blicker bist – warum um alles in der Welt bringst du es dann weder fertig, deine Frage so zu formulieren, dass man verstehen kann, was du wirklich wissen willst, noch innerhalb dieser guten Woche zwischen Frage stellen und pushen dir selber die Lösung zu erarbeiten (oder wenigstens näher zu kommen, die Frage nachzubessern …)
    Gut, ich muss ja nicht alles verstehen …
    (Wobei: Gesetzt, du bringst diese Kleinigkeit einfach wirklich nicht fertig – und so sieht es ja aus – dann ist völlig logisch, dass du auf meine Nachfragen so angefressen reagieren musst … alles gut … ohmmmmmm …)

    Gruß
    helix

    Angefressen? Ich würde eher sagen sachlich. Wobei ich dieses Kommentar zurückgeben muss, denn Aussagen wie "Ober-Blicker" o. ä. sind wirklich sehr konstruktiv muss ich sagen. Ich hoffe Sarkasmus ist dir ein Begriff. Des weiteren Aussagen wie "innerhalb einer Woche" und "Frage so zu formulieren dass man sie verstehen kann". Letzteres kann auch different angesehen werden und nicht die Intelligenz des Fragenden, sondern des nicht verstehenden in Frage stellen.
    Die selbst gefertigte Klasse ist im Übrigen fertig, es führen aber bekanntlich mehrere Wege nach Rom und so habe ich versucht meinen Horizont zu erweitern und andere Möglichkeiten zu suchen.

    Aber ich denke jedwede weitere Kommunikation in Hinsicht auf Konstruktion meines Postings seitens deiner Person wäre wenig zielführend. Danke jedoch für deine Antwort.

    Ich habe Dir doch den Link zum Developer Handbuch gegeben. Vorletztes Beispiel: https://developer.wordpress.org/reference/func…es/#comment-396
    Das steht der komplette CSS Code wie Du in brauchst.

    Danke vielmals für den Hinweis, das ist eine sehr feine Lösung. Ich dachte mir jedoch ich könne wie gesagt das Menüobjekt, welches mit der Abfrage generiert wird etwas "entlasten" und somit Ressourcen sparen. Ich habe mir diesbezüglich eine kleine Klasse geschrieben. Vielen Dank jedoch für deinen konstruktiven Hinweis.

    mfg Promaetheus

Jetzt mitmachen!

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