Je ne suis pas sûr de ce qui se passe ici, car cela a fonctionné dans un autre plugin que j'ai créé. J'essaie simplement de stocker des données dans la table d'options. Voici le code que j'utilise:
function on_myplugin_start () {
register_setting('first_tab_options', 'first_tab_items');
}
add_action('admin_init','on_myplugin_start');
Voici le formulaire qui est soumis:
<form action="options.php" method="post" >
<?php
settings_fields( 'first_tab_options' );
?>
<input type="text" name="some_name" value="">
<input type="submit" value="Save Settings" name="submit" class="button-primary">
</form>
Ca y est .. quand je regarde le code source, tout semble aller bien ... il y a tous les champs cachés mis par l'API des paramètres ... mais quand je mets une valeur et clique sur submit (et le message dit que l'enregistrement a été enregistré avec succès, rien se trouve dans le champ de base de données créé avec succès (first_tab_items).
Je vous serais reconnaissant de toute aide sur ce .... merci
... car votre nom d’entrée (POST) doit correspondre à celui de votre appel register_setting
:
register_setting( 'first_tab_options', 'first_tab_items' );
....
<input type="text" name="first_tab_items"...
Autrement, comment WP sait-il que some_name
dans POST contient vos données d'option? ;)
Ajout à la réponse de TheDeadMedic: si vous souhaitez enregistrer un seul paramètre pour un formulaire entier, comme vous l'avez suggéré, vous pouvez utiliser un tableau:
<form action="options.php" method="post" >
<?php
settings_fields( 'first_tab_options' );
?>
<input type="text" name="first_tab_items[some_name]" value="">
<input type="text" name="first_tab_items[some_name2]" value="">
<input type="submit" value="Save Settings" name="submit" class="button-primary">
</form>
Et inscrivez-vous:
register_setting('first_tab_options', 'first_tab_items');