1

これはラジオボタンの私のコードです。それらを設定ページに表示し、将来の使用のために保存したいと思います。

<form method="post" action="options.php">  
<?php 
    wp_nonce_field('update-options'); 
    $rsp_position = get_option('rsp_position');
    if(empty($rsp_position)){
        $rsp_position = "true";
    } else {
        $rsp_position = get_option('rsp_position');
    }
?>  
<p><strong>Ad Placing:</strong><br />

<input type="radio" id="1" name="rsp_position" <?php if($rsp_position == 'true') echo 'checked="checked"'; ?> value="true" />yes <br />
<input type="radio" id="2" name="rsp_position" <?php if($rsp_position == 'false') echo 'checked="checked"'; ?> value="flase" />no <br />

<input type="text" name="publisher-id" size="45" value="<?php echo get_option('publisher-id'); ?>" />  
</p>  
<p><input type="submit" name="Submit" value="Save" /></p>  
<input type="hidden" name="action" value="update" />  
<input type="hidden" name="page_options" value="publisher-id" /> 
<?php 
    settings_fields( 'save_position' ); 
    register_setting( 'save_position', 'rsp_position');
?>
4

1 に答える 1

1

あなたは正しい方向に進んでいますが、settings_fieldsとregister_settingへの呼び出しは正しい場所にありません。

これに関するOttoのチュートリアルを読んでください。これは、設定APIの優れた入門書です。

基本的に、admin_initアクションを追加し、コールバックで設定を登録し、add_settings_fieldを使用してフォームアイテムを作成します。

次に、add_options_pageコールバックで、settings_fieldsを呼び出して、add_settings_fieldで作成されたエントリを表示します。

Ottoのチュートリアルでまだ苦労している場合は、もう一度投稿してください。

編集:次のペーストビンエントリ。

保存に失敗したのは、検証関数が期待値を返さなかったためです。preg_matchは、保存する前に正しい値を見つけて文字列を''(何も)に変えていないため、実際には何も保存していないのに、保存していないように見えます。

役に立つかもしれない以下の機能をチェックすることもできます。

于 2013-01-18T18:11:20.840 に答える