wake-up-neo.net

Plugin-Optionen werden nicht in der Datenbank gespeichert

Ich bin nicht sicher, was hier passiert, da dies in einem anderen Plugin funktioniert hat, das ich erstellt habe. Ich versuche einfach, Daten in der Optionstabelle zu speichern. Hier ist der Code, den ich benutze:

function on_myplugin_start () {         
register_setting('first_tab_options', 'first_tab_items');
}

add_action('admin_init','on_myplugin_start');

Hier ist das Formular, das gesendet wird:

<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>

Das war's ... wenn ich mir den Quellcode ansehe, sieht alles gut aus ... da sind all die versteckten Felder, die von der Einstellungs-API eingefügt wurden ... aber wenn ich einen Wert eingebe und auf "Submit" drücke (und es heißt "erfolgreich gespeichert", nichts befindet sich in dem Datenbankfeld, das erfolgreich erstellt wurde (first_tab_items).

Ich würde mich über jede Hilfe freuen .... danke

4
Allen

... weil Ihr Eingabename (POST) mit dem Namen in Ihrem register_setting-Aufruf übereinstimmen muss:

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

Woher zum Teufel weiß WP, dass some_name in POST Ihre Optionsdaten enthält? ;)

9
TheDeadMedic

Hinzufügen zu TheDeadMedics Antwort: Wenn Sie nur eine Einstellung für ein gesamtes Formular registrieren möchten, wie Sie es impliziert haben, können Sie ein Array verwenden:

<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>

Und registriere dich:

register_setting('first_tab_options', 'first_tab_items');
0
Ynhockey