it-swarm.com.de

Status der Checkbox/Optionsliste speichern?

mein selbst erstelltes Admin-Panel funktioniert einwandfrei, speichert jedoch keine Werte für Formulareingaben.

Wenn ich etwas in das Textfeld tippe und auf "Speichern" klicke, ist es nach dem Aktualisieren dank PHP immer noch da:

<input type="text" name="header" value="<?php echo get_option('header'); ?>" /> 

Das PHP gibt also seinen eigenen Wert an eine Eingabe weiter, und alles ist in Ordnung. Aber was tun, wenn ich eine Liste mit 10 Optionsfeldern oder nur ein Kontrollkästchen habe?

Im Moment habe ich eine Checkbox wie diese:

<input type="checkbox" name="showS" value="true">

Und nachdem Sie darauf geklickt und gespeichert haben, ist es immer noch "nicht angeklickt".

Haben Sie geholfen?

1
Wordpressor

Dies ist wirklich nur eine HTML-Frage, nicht spezifisch für WordPress. Suchen Sie nach checked="checked" (für Kontrollkästchen) oder selected="selected" (für Auswahlmöglichkeiten, Optionsfelder usw.).

<input type="checkbox" name="showS" value="true" 
    <?php if (get_option('showS')==true) echo 'checked="checked" '; ?>>

Da dies jedoch WordPress ist, sollte ich Sie auch daran erinnern, die Einstellungs-API zu verwenden, wo dies möglich ist. Versuchen Sie nicht, alle Eingaben selbst zu bereinigen und zu validieren, es sei denn, Sie wissen wirklich, was Sie tun. Hier ist ein Link zu einem Tutorial auf der Einstellungs-API:

http://ottopress.com/2009/wordpress-settings-api-tutorial/

1
goldenapples

Dies mag eine HTML-zentrierte Frage sein, aber wie es passiert, hat WordPress einige Hilfsfunktionen für den Umgang mit Kontrollkästchen, Dropdown-Listen, deaktivierten Eingaben usw.

http://sillybean.net/2010/09/wordpress-hidden-gems-checked-selected-and-disabled/

Darauf wies auch Rarst in seinem Kommentar hin.

Ich benutze diese jetzt immer, sie sehen eleganter aus als die selbst geschriebenen alternativen Methoden.

2
t31os