これは私が作成した別のプラグインで機能しているので、私はここで何が起こっているのかわからない。単にオプションテーブルにデータを保存しようとしています。これが私が使っているコードです:
function on_myplugin_start () {
register_setting('first_tab_options', 'first_tab_items');
}
add_action('admin_init','on_myplugin_start');
これが送信されるフォームです:
<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>
それはそれです。私がソースコードを見ると、すべてがうまく見えます...設定APIによって置かれた隠されたフィールドがすべてあります。しかし値を入れて送信を押すと(そしてうまく保存されました。正常に作成されたデータベースフィールド(first_tab_items)にあります。
私はこれについての助けをいただければ幸いです....ありがとう
入力(POST)名はregister_setting
呼び出しのものと一致する必要があるためです。
register_setting( 'first_tab_options', 'first_tab_items' );
....
<input type="text" name="first_tab_items"...
それ以外の場合、WP内のsome_name
がオプションデータを保持していることをPOSTがどのように認識しているのでしょうか。 ;)
TheDeadMedicの答えに追加する:あなたが暗示しているようにあなたがフォーム全体に対してただ一つの設定を登録したいのなら、あなたは配列を使うことができます:
<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>
そして登録:
register_setting('first_tab_options', 'first_tab_items');