web-dev-qa-db-ja.com

オプションページの変更を保存する機能を追加

私はこのように リンク ページを作成し、それはうまく動作しますが、私はそれがファイルを編集したいような後にいくつかのスクリプトを実行する必要があり

私はそれを追加しました

function my_function() {
    //do something
}
function register_mysettings() {
    //register our settings
    register_setting( 'baw-settings-group', 'new_option_name' );
    register_setting( 'baw-settings-group', 'some_other_option' );
    register_setting( 'baw-settings-group', 'option_etc' );
    my_function();
}
add_action( 'admin_init', 'register_mysettings' );

毎回読み込まれますが(送信せずに)助けてください。 THX

1
hooman

オプションが更新された後にタスクを実行するには、 updated_optionアクションフック を使用できます。

add_action( 'updated_option', 'updated_option_callback', 10, 3 );
function updated_option_callback( $option, $old_value, $value ) {
     //Do something
}

また、各オプションには update_option_{option-name} を使用することもできます。例えば:

add_action( 'update_option_new_option_name', 'update_new_option_name_callback', 10, 2 );
function update_new_option_name_callback( $old_value, $value ) {
     //Do something
}
2
cybmeta