Question étrange, comment puis-je exécuter une fonction personnalisée APRÈS que mes paramètres de thème soient enregistrés? Je vois que la fonction register_settings () a un rappel de nettoyage, mais cela s'exécute avant que les paramètres ne soient modifiés. J'ai besoin de quelque chose pour courir après qu'ils soient sauvés. Existe-t-il une action ou un filtre que je peux utiliser pour le faire?
MODIFIER -
Donc j'ai ce réglage que j'ai fait:
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
);
et cette fonction:
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);
Utilisez le filtre update_option_{$option}
. Il s'exécute après une sauvegarde réussie.
$option
est le nom de votre option et vous obtenez l'ancienne et la nouvelle valeur en tant que paramètres.
De wp-includes/option.php
:
do_action( "update_option_{$option}", $oldvalue, $_newvalue );
Utilisez-le comme ceci pour une option wpse_themesettings
:
add_action( 'update_option_wpse_themesettings', 'wpse_check_settings', 10, 2 );
function wpse_check_settings( $old_value, $new_value )
{
// do something
}