Cum să folosești Checkbox în Pagina de Opțiuni Personalizate folosind Setting API
Îmi puteți spune cum pot adăuga un checkbox în Setting API pentru crearea unei Pagini de Opțiuni Personalizate? Folosesc următorul cod pentru a adăuga o căsuță text care funcționează perfect, dar sunt total confuz cum să adaug un checkbox în setting API și opțiuni. Am încercat să actualizez tipul input-ului la checkbox dar nu sunt sigur ce să pun la Valoare, în plus când salvez formularul checkbox-ul apare în continuare nebifat!
add_settings_field('the_option_label',
'Afișează Paragraf:',
array($this,'the_option_label_setting'),
__FILE__,
'hte_main_section');
public function the_option_label_setting()
{
echo "<input name='My_Theme_Options[the_option_label]' type='text' value='{$this->options['the_option_label']}'/>";
}
Mulțumesc

Aruncă o privire la: Ghidul complet pentru WordPress Settings API (Partea a 8-a: Validare, Sanitizare și Input II):
add_settings_field(
'Element Checkbox',
'Element Checkbox',
'sandbox_checkbox_element_callback',
'sandbox_theme_input_examples',
'input_examples_section'
);
function sandbox_checkbox_element_callback() {
$options = get_option( 'sandbox_theme_input_examples' );
$html = '<input type="checkbox" id="checkbox_example" name="sandbox_theme_input_examples[checkbox_example]" value="1"' . checked( 1, $options['checkbox_example'], false ) . '/>';
$html .= '<label for="checkbox_example">Acesta este un exemplu de checkbox</label>';
echo $html;
}
EDIT: Câmpurile checkbox nu folosesc atributul value
pentru a determina dacă caseta este bifată. Ele folosesc un atribut checked
. Linia $html
de mai sus a fost editată folosind codul din articolul menționat mai sus. Citește articolele pentru detalii.

Salut Till, mulțumesc pentru comentariu. Am încercat sugestia ta și codul din link, dar încă am niște probleme aici! Problema este că atunci când bifez caseta și salvez opțiunile, noua pagină este încă debifată! Adică nu citește datele din Opțiuni! Poți să-mi spui te rog cum să fac asta? Știu că într-o căsuță de text putem folosi value='{$this->options['the_option_label']}', dar cum rămâne cu checkbox-ul?

Editat răspunsul lui Till cu codul corectat din articol.
