Wenn Sie versuchen, dem Design-Customizer ein Kontrollkästchen hinzuzufügen, scheint es "immer" ausgewählt zu sein. Wenn Sie versuchen, die Auswahl aufzuheben, können Sie dies nicht tun, fast so, als ob JS-Code die Auswahl zwingt.
Ich verwende serialisierte Designoptionen und alles ist korrekt angeschlossen. Der Code ähnelt dem folgenden (ausgelöst über den Hook 'customize_register'):
$wp_customize->add_setting( mytheme_options[chk_hide_description], array(
'default' => false,
'type' => 'option',
'capability' => 'edit_theme_options' )
);
$wp_customize->add_control( 'display_header_text', array(
'settings' => mytheme_options[chk_hide_description],
'label' => __( 'Hide site description' ),
'section' => 'title_tagline',
'type' => 'checkbox',
) );
Das gleiche Problem wurde hier gemeldet: http://ottopress.com/2012/how-to-leverage-the-theme-customizer-in-your-own-themes/#div-comment-11254 .
theme-options
dgwyer
quelle
quelle
Antworten:
Kontrollkästchen ist möglich. Ein Beispiel, ich hoffe das hilft dir.
Zuerst müssen Sie die Einstellung definieren, über
add_setting
wichtig ist der Parametertype
mit Wertoption
. Danach steuern Sie das Feld überadd_control
und setzen den Parametertype
aufcheckbox
. Alternativ ist es möglich zu verwendenselect
. Wenn ich einen Standardwert über hinzufügestd
, arbeite ich ihn auch ohne diesen Parameter. Alternative funktioniert auch gut, wenn ich den Auswahlparameter mit den Werten 1 und 0 hinzufüge. Aber bei den Tests funktioniert es gut, wenn ich den Parameter nur auf setzecheckbox
. Sie finden die Quelle in meinem Projekt, siehe Link unten.Sie können auch die Ausgabe für die Wertzeichenfolge in der Zeile 246 in der Datei wp-includes / class-wp-customize-control.php debuggen. vielleicht hilft es.
debuggen:
Beispiel:
Siehe das Ergebnis dieser Quelle.
Ein Arbeitsergebnis finden Sie in meinem Thema Dokumentation, das auf Github gehostet wird .
quelle
Ich hatte ein ähnliches Problem und es stellte sich heraus, dass die Einstellung
'type' => 'option'
füradd_setting
die Ursache war.Das Entfernen dieses Problems hat mein Problem gelöst. Im Folgenden wird Folgendes verwendet, und es funktioniert einwandfrei.
quelle