1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Selectieren der richtigen Kategorie

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von Peter G, 29. November 2020.

Schlagworte:
  1. Peter G

    Peter G Well-Known Member

    Registriert seit:
    7. April 2014
    Beiträge:
    71
    Zustimmungen:
    0
    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:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Irgedwas läuft schief. Wo ist der Denkfehler. Ich freu mich auf eure Antworten.

    LG Peter G
     
  2. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.636
    Zustimmungen:
    1.778
    Sobald $category->term_id == $cat_options_id einmal zutrifft, ist $selected für alle folgenden Optionen immer 'selected', sehen könnte man das ggf. auch wenn man sich den HTML Quellcode der Ausgabe ansieht, und am Rande bemerkt, vorher existiert die Variable $selected noch gar nicht und könnte so bei Nutzung im echo je nach WP_DEBUG eine PHP Warnung erzeugen.
     
  3. Shadow

    Shadow Well-Known Member

    Registriert seit:
    12. Februar 2007
    Beiträge:
    2.969
    Zustimmungen:
    57
    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.
     
  4. Peter G

    Peter G Well-Known Member

    Registriert seit:
    7. April 2014
    Beiträge:
    71
    Zustimmungen:
    0
    Hallo, danke für eure Antworten. Problem habe ich gelöst, zumindest funktioniert es.

    Hier der Code den ich nun verwende:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    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
     
  5. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.636
    Zustimmungen:
    1.778
    Zu beachten wäre noch, dass Du in der zweiten Zeile auf $options[..] 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 selected(..) Funktion verwenden, dann sähe der Code z.B. so aus (ungetestet):
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und weiterhin könnte man noch Error Checking einfügen, um sicherzustellen, dass die entspr. Werte vorhanden sind, und dazu Escaping der Ausgaben, mit esc_html() bzw. esc_attr(), dann sähe der Code z.B. so aus (ungetestet):
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    #5 b3317133, 29. November 2020
    Zuletzt bearbeitet: 29. November 2020
  6. Peter G

    Peter G Well-Known Member

    Registriert seit:
    7. April 2014
    Beiträge:
    71
    Zustimmungen:
    0
    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
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden