web-dev-qa-db-ja.com

一般設定の保存にフックが付いていますか?

一般設定ページにフィールドを追加したいのですが、ページを保存するためのフックが見つからないため、フィールドを保存できません。

何か案は?

4
Mild Fuzz

あなたはあなたの設定をregister_setting()する必要があります、そしてそれは自動的に保存されます。詳しくは 設定API をご覧ください。これが完全な例です。

function spw_cb() {
    if( !($value = get_option('sprockets_per_widget')) ) {
        $value = 7;
    }

    ?>
    <input type="text" size="3" name="sprockets_per_widget" value="<?php echo $value; ?>" /> Numeric only!
    <?php
}

function spw_init() {
    add_settings_field('sprockets_per_widget', 'Sprockets per Widget', 'spw_cb', 'general');
    register_setting('general', 'sprockets_per_widget', 'intval');
}
add_action('admin_init', 'spw_init');
6