Les options de plug-in ne seront pas enregistrées dans la base de données.

4

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>

Ça y est .. quand je regarde le code source, tout semble aller bien ... il y a tous les champs cachés mis en place par les paramètres de l'API ... enregistrée, rien ne figure dans le champ de la base de données créé avec succès (first_tab_items).

Je vous serais reconnaissant de toute aide à ce sujet .... merci

    
posée Allen 12.08.2012 - 00:27

2 réponses

9

... car votre nom d'entrée (POST) doit correspondre à celui de votre register_setting call:

register_setting( 'first_tab_options', 'first_tab_items' );
....
<input type="text" name="first_tab_items"...

Sinon, comment WP sait-il que some_name dans POST contient vos données d'option? ;)

    
réponse donnée TheDeadMedic 12.08.2012 - 00:33
0

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');
    
réponse donnée Ynhockey 23.01.2018 - 09:55

Lire d'autres questions sur les étiquettes