J'essaie d'ajouter/mettre à jour des valeurs supplémentaires à une option créée avec l'API de paramètres. J'essaie de faire cela avec ma fonction de rappel de validation, mais je ne vais pas très loin. Voici mon code:
function tccl_settings_option_validate( $input ) {
add_option( 'tccl_settings_option', $input );
}
Cela cause une très grosse erreur. Comment devrais-je faire cela?
Ce que je voudrais faire est d'utiliser le rappel de validation pour ajouter des valeurs au tableau d'options sans le remplacer.
Obtenez l'option, modifiez uniquement les valeurs que vous devez modifier, puis renvoyez les résultats.
function tccl_settings_option_validate( $input ) {
$options = get_option('tccl_settings_option');
// modify $options using data from $input as needed
return $options;
}
Sur votre fonction tccl_settings_option_validate, vous devez:
renvoyer ce tableau.
donc quelque chose comme:
function tccl_settings_option_validate( $input ) {
//do regular validation stuff
//...
//...
//get all options
$options = get_option(THEMENAME . '_settings');
//update only the neede options
foreach ($input as $key => $value){
$options[$key] = $value;
}
//return all options
return $options;
}
vous n'avez pas à sauvegarder l'option, c'est fait pour vous. votre fonction de validation devrait vérifier les entrées, puis return
quelque chose.
function tccl_settings_option_validate( $input ) {
// do some checking/formatting/whatever of $input
// and then
return $input;
}