show_option_all geht nicht

  • Hallo,
    ich habe dieses schöne Script aus dem codex.
    und es ging auch schon mal - aber jetzt funktioniert das mit dem show_option_all nicht mehr.

    Kann mir jemand draufhelfen warum??

    (äh ich habe das script dreimal hintereinander für verschiedene Jahre - es geht allerdings auch nicht, wenn es nur einmal drin ist - das ist dann nicht riskant, oder?)

    Meine seite :http://www.kunst-im-stockwerk.info/suche/

    Vielen Dank!!
    Irmen

    Einmal editiert, zuletzt von irmen (28. September 2010 um 18:55)

    • 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

  • Danke für deine Antwort -
    er zeigt bei Jahr 2009(bzw. Jahr 2010, Jahr 2011) nicht das ganze Jahr, sondern garnix.

    Ich hatte es so verstanden, dass der mit show_option_all - dann alle Ergebnisse der childcategorien ausgibt - oder ist das falsch?

  • Genau genommen zeigt er mit show_option_all schon etwas, und zwar alle Postings. Das sieht man aber erst wenn man eine Auswahl trifft und dann auf "Jahr 2009" klickt. Die DropDown-Box wird nicht abgeschickt, wenn man das schon vorausgewählte noch mal anklickt. Um das zu umgehen könntest Du mit show_option_none noch einen nicht abschickbaren Text wie "Bitte auswählen:" drüber setzen.

    Ich habe gerade mal in den Quelltext geschaut: Diese Option setzt immer als Kategorie-ID 0 ein, ohne zu schauen ob Du mit childof vielleicht etwas anderes angegeben hast. Du wirst das also etwas anders implementieren müssen, fürchte ich. Im Moment bin ich aber auch überfragt, was man da genau tun könnte. Das Ergebnis der Funktion filtern? Die Funktion kopieren und anpassen?

  • Wenn das ginge, würde ich ja lieber gleich mit dem ersten Dropdown nur die Jahre anzeigen und auswählen und dann diesen wert dem zweiten Dropdown anliefern so dass der sich entsprechend mit den Kinder-Monaten füllt. Das geht doch bestimmt - blos wie???

    Da fällt mir noch was ein, was ich schon lange wissen will:
    du sagst, die funktion kopieren und anpassen - wie und wo kopiere ich denn diese funktion? Und die Veränderte, sollte die dann in die function.php?

    Wie und wo kann ich denn die search kopieren und anpassen
    <?php get_search_form(); ?>

    Vielen Dank für Aufklärung!!!

    Einmal editiert, zuletzt von irmen (30. September 2010 um 08:27)

  • Zitat

    Wenn das ginge, würde ich ja lieber gleich mit dem ersten Dropdown nur die Jahre anzeigen und auswählen und dann diesen wert dem zweiten Dropdown anliefern so dass der sich entsprechend mit den Kinder-Monaten füllt. Das geht doch bestimmt - blos wie???

    Hatten wir das nicht letztens gerade in einem Thread? Ich könnte es Dir aber auch nicht wirklich sagen, wie man das hinbekommt. Sollte prinzipiell aber gehen. Eine Liste aller Jahre auszugeben, sollte ja gehen, solange die eine gemeinsame Oberkategorie haben. Mit depth=1 blendest Du da die Kinder aus. Die Frage wäre, was man bei dem zweiten Select macht. Das wird mit JavaScript und/der Ajax gehen müssen, denke ich.


    Zitat

    du sagst, die funktion kopieren und anpassen - wie und wo kopiere ich denn diese funktion? Und die Veränderte, sollte die dann in die function.php?

    Wie und wo kann ich denn die search kopieren und anpassen
    <?php get_search_form(); ?>

    Einen brauchbaren Texteditor oder ein anderes Suchtool nehmen und damit in allen WP-Dateien nach "function get_search_form" suchen. Das sollte in der regel zielstrebig zu der Definition der Methode führen. Dann erst mal schauen, ob man sie über Hooks und Filter anpassen kann. Falls ja, das machen, das ist auf lange Sicht pflegeleichter. Wen es aber mal nicht geht, die Funktion wie sie ist in die functions.php des Themes kopieren und dort umbenennen. Im Theme dann die neue Funktion benutzen.

  • Danke für die Antwort.
    Ich dachte mir:
    wenn man ein Jahr auswählt, dann wird ja eine Id ausgegeben - ich stelle mir vor, dass dann nicht die suche ausgeführt wird mit dieser id sondern diese variable müsste eben in dem zweiten Dropdown stehen als

    Zitat

    &child_of=<?php echo $dievariable ?>&

    dann zeigt das genau die Kinder dieser id an.

    oder geht das nicht in einem Schritt - ich kann leider nicht programmieren ...

    Könnte mir jemand sagen, ob das so geht - möglicherweise auch, wie es geschrieben wird ...;-)

    Einmal editiert, zuletzt von irmen (1. Oktober 2010 um 09:43)

  • Das ganze ist leider schon eine Programmieraufgabe und mir fehlt die Zeit dazu, das direkt fertig zu bauen. Machbar ist das auf jeden Fall mit jQuery, Du müsstest aber überlegen was Besucher ohne JavaScript als Fallback sehen.

    Ich stelle mir das so vor: Das erste Dropdown mit den Jahren kriegt ein onchange, welches die ID des gewählten Elementes ausliest und damit eine AJAX-Abfrage macht. Das liefert das neue Monats-DropDown zurück, welches in die Seite statt des bisherigen eingebaut wird.

    Hier wie gesagt die Frage nach dem Fallback: Sieht man beim ersten Laden der Seite alle Monate? Oder nur eine Schrift "Bitte Jahr auswählen", und falls ja, was machen dann Nutzer ohne JavaScript? Man könnte das DropDown natürlich erst mit JavaScript einfügen, so dass Nutzer ohne JavaScript davon einfach gar nichts sehen.

    Belesen müsste ich mich ansonsten zur Frage, wie man den AJAX-Aufruf auf dem Server gestaltet. Dafür hat WP aber soweit ich weiß auch schon was an Bord, so dass das ohne zu viele Hacks gehen sollte. Irgendein Script muss das auf dem Server aber natürlich entgegennehmen und verarbeiten. Vermutlich wird auch das über eine Funktion in der functions.php gehen, nehme ich an.

  • vielen dank für deine Antwort.
    auch wenn ich damit erst mal nur begrenzt was anfangen kann.
    aber zumindest weiß ich nun, dass es grzundsätzlich auf jeden Fall irgendwie gehen muss.

Jetzt mitmachen!

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