Selectieren der richtigen Kategorie

  • Hallo WP Gemeinde,

    ich habe ein Problem mit einem Auswahlmenu in einem Formular. Ich habe eine Theme-Options Page mit einem Auswahlmenu erstellt, mit dem man eine Kategorie auswählen kann und als Option speichern kann. Dies funktioniert einwandfrei und wir auch im Theme sauber angezeigt.

    Allerdings hat das Ganze im Moment noch einen Haken. Ich bekomm das nicht hin das nach dem speichern im Auswahlmenu die abgespeicherte Kategorie selectiert ist. In meinem Code wird immer die letzte <option> im Menu selectiert.

    Ich habe schon einiges gesucht und ausprobiert. Allerdings ohne Erfolg.

    Hier mal der letzte Code den ich mir ausgedacht habe:

    Irgedwas läuft schief. Wo ist der Denkfehler. Ich freu mich auf eure Antworten.

    LG Peter G

    • 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

  • Sobald [FONT=Courier New]$category->term_id == $cat_options_id[/FONT] einmal zutrifft, ist [FONT=Courier New]$selected[/FONT] für alle folgenden Optionen immer [FONT=Courier New]'selected'[/FONT], sehen könnte man das ggf. auch wenn man sich den HTML Quellcode der Ausgabe ansieht, und am Rande bemerkt, vorher existiert die Variable [FONT=Courier New]$selected[/FONT] noch gar nicht und könnte so bei Nutzung im [FONT=Courier New]echo[/FONT] je nach [FONT=Courier New]WP_DEBUG[/FONT] eine PHP Warnung erzeugen.

  • sobald zb eine ID für selected zutrifft in der Schleife, bekommt dann jede folge Anzeige die $selected variable mit selected. du must die $selected auf leer setzen.

    Wordpress weil es spass macht, besonders beim WordPress Meetup in Linz

  • Hallo, danke für eure Antworten. Problem habe ich gelöst, zumindest funktioniert es.

    Hier der Code den ich nun verwende:

    Er funktioniert so wie ich das beurteilen kann einwandfrei. Zumindest bekomme ich keinen Fehler. Oder gibt es da noch mehr zu beachten.

    LG Peter G

  • Zu beachten wäre noch, dass Du in der zweiten Zeile auf [FONT=Courier New]$options[..][/FONT] zugreifst, die Variable aber dort noch nicht existiert, diese Zeile ist im aktuellen Code überflüssig. Weiterhin kann/sollte man immer gleiche Zugriffe auf gespeicherte Werte besser ausserhalb der Schleife vornehmen. Weiterhin könnte man auch die in WordPress eingebaute [FONT=Courier New]selected(..)[/FONT] Funktion verwenden, dann sähe der Code z.B. so aus (ungetestet):


    Und weiterhin könnte man noch Error Checking einfügen, um sicherzustellen, dass die entspr. Werte vorhanden sind, und dazu Escaping der Ausgaben, mit [FONT=Courier New]esc_html()[/FONT] bzw. [FONT=Courier New]esc_attr()[/FONT], dann sähe der Code z.B. so aus (ungetestet):

    4 Mal editiert, zuletzt von b3317133 (29. November 2020 um 18:13)

  • Hallo, danke. Dass sieht dann auch viel freundlicher aus und funktioniert einwandfrei. Ich werd mich mit dem Code beschäftigen und versuchen ihn auf mein zweites Auswahlmenu anzuwenden. Dabei handelt es sich dann um Pages.

    Nochmals vielen Dank für die Unterstützung

    LG Peter G

Jetzt mitmachen!

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