Come Utilizzare la Checkbox nella Pagina delle Opzioni Personalizzate Usando la Setting API
Potresti dirmi come posso aggiungere una checkbox alla Setting API nella creazione di una Pagina delle Opzioni Personalizzate? Sto usando il seguente codice per aggiungere una casella di testo che funziona perfettamente, ma sono totalmente confuso su come aggiungere una checkbox alla Setting API e alle opzioni. Ho provato a cambiare il tipo di input in checkbox ma non sono sicuro cosa inserire nel valore, inoltre quando salvo il form la checkbox appare ancora deselezionata!
add_settings_field('the_option_label',
'Mostra Paragrafo:',
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']}'/>";
}
Grazie

add_settings_field(
'Elemento Checkbox',
'Elemento 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">Questo è un esempio di checkbox</label>';
echo $html;
}
MODIFICA: I campi checkbox non utilizzano l'attributo value
per determinare se la casella è selezionata. Utilizzano un attributo checked
. La riga $html
sopra è stata modificata utilizzando il codice presente più avanti nell'articolo citato. Leggi gli articoli per i dettagli.

Ciao Till, grazie per il tuo commento. Ho provato il tuo suggerimento e il codice del link ma ho ancora qualche problema qui! Il problema è che quando spunto la checkbox e salvo le opzioni, la nuova pagina risulta ancora deselezionata! Voglio dire, non sta leggendo i dati dalle Opzioni! Puoi per favore dirmi come fare questo? So che nelle text box possiamo usare value='{$this->options['the_option_label']} ma per quanto riguarda le checkbox?

Modificato la risposta di Till con il codice corretto dall'articolo.
