web-dev-qa-db-fra.com

Comment utiliser une case à cocher dans la page d'option personnalisée à l'aide de l'API de paramétrage

Pouvez-vous s'il vous plaît laissez-moi savoir comment je peux ajouter une case à cocher à Paramétrer l'API dans la création d'une page d'options personnalisées? J'utilise le code suivant pour ajouter une boîte de texte qui fonctionne parfaitement, mais je suis totalement confus quant à l'ajout de chechbox à l'API de paramétrage et aux options. Je viens d'essayer de mettre à jour le type d'entrée en case à cocher mais je ne suis pas sûr de ce qu'il faut mettre dans Valeur sauf lorsque je sauvegarde le formulaire, la case à cocher apparaît toujours non cochée!

 add_settings_field('the_option_label',
                    'Display Paragraph:',
                     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']}'/>";
    }

Merci

5
Mona Coder

Consultez: Le guide complet de l'API de paramètres WordPress (Partie 8: Validation, désinfection et entrée II) :

add_settings_field(  
    'Checkbox Element',  
    'Checkbox Element',  
    '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">This is an example of a checkbox</label>';

    echo $html;

}

EDIT: les champs de case à cocher n'utilisent pas l'attribut value pour déterminer si la case est cochée. Ils utilisent un attribut checked. La ligne $html ci-dessus a été modifiée à l'aide du code figurant plus loin dans l'article mentionné ci-dessus. Lisez les articles pour plus de détails.

7
Till