web-dev-qa-db-fra.com

Comment enregistrer les valeurs de case à cocher dans les paramètres du registre?

<?php 
function default_menu() {
<form action="options.php" method="post">
 <?php settings_fields( 'sample_check' );?>
<input type="checkbox" name="sample" value="nofollow"/>
</form>


function reg_setting() {
register_setting('sample_check','???');
}

Bonjour à tous, J'ai eu du mal toute la journée à enregistrer les valeurs des cases à cocher dans les paramètres du registre. Pour la zone de texte que j'ai utilisée:

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

De plus, j'enregistre les valeurs dans les paramètres de registre comme:

register_setting('sample_check','samip');

Mais je ne sais pas comment faire cela pour une case à cocher. Si quelqu'un pouvait me suggérer une façon de procéder, ce serait formidable.

Merci vicky

5
masterzoran

La structure de paramètres ne peut pas détecter les données qui ne sont pas publiées. Vous devez donc utiliser un appel à update_option ou (ce que je fais parfois) utiliser un bouton radio oui/non plutôt qu'une case à cocher. Avec un bouton radio dont la valeur par défaut est 0 (non) et l'alternative est 1 (oui), l'utilisateur définit la valeur de publication dans un sens ou dans l'autre. Vous faites simplement que l'utilisateur fasse un choix explicite.

1
David F. Carr

pourquoi ne pas simplement mettre checkbox value dans une option à la place:

<?php update_option( $option, $new_value ); ?> 

http://codex.wordpress.org/Function_Reference/update_option
http://codex.wordpress.org/Function_Reference/get_option

0
seot