A função Executar APÓS as opções do tema são salvas?

9

Pergunta estranha, como posso executar uma função personalizada depois que minhas configurações de tema são salvas? Vejo que a função register_settings () tem um retorno de chamada de saneamento, mas que é executado antes de as configurações serem alteradas. Eu preciso de algo para correr depois de serem salvos. Existe uma ação ou filtro que eu possa usar para fazer isso?

EDITAR

Então, eu tenho esse cenário:

add_settings_section(
    'kjd_body_background_settings_section', // ID hook name
    null, // label
    null, // function name
    'kjd_body_background_settings' // page name
);


    add_settings_field(
        'kjd_body_background_colors', // ID hook name
        null, //label
        null, //callback
        'kjd_body_background_settings', // page name
        'kjd_body_background_settings_section' // parent section 
);

e esta função:

function kjd_update_stylesheet( $oldvalue, $_newvalue ){
   echo 'updated!';
   die();
}
add_action('update_options_kjd_body_background_settings','kjd_update_stylesheet',10, 2);

//add_action('update_options_kjd_body_background_colors','kjd_update_stylesheet',10, 2);
    
por rugbert 12.08.2013 / 01:41

1 resposta

17

Use o filtro update_option_{$option} . Ele é executado após um salvamento bem-sucedido.

$option é o nome da sua opção e você obtém o antigo e o novo valor como parâmetros.

De wp-includes/option.php :

do_action( "update_option_{$option}", $oldvalue, $_newvalue );

Use-o assim para uma opção wpse_themesettings :

add_action( 'update_option_wpse_themesettings', 'wpse_check_settings', 10, 2 );

function wpse_check_settings( $old_value, $new_value )
{
    // do something
}
    
por fuxia 12.08.2013 / 03:06