我正在尝试向使用Settings API创建的选项添加/更新其他值。我试图用我的验证回调函数来实现这一点,但我并没有走多远。这是我的代码:
function tccl_settings_option_validate( $input ) {
add_option( \'tccl_settings_option\', $input );
}
这导致了一个相当大的错误。我应该怎么做?我想做的是使用验证回调向选项数组添加值,而不覆盖它。
我正在尝试向使用Settings API创建的选项添加/更新其他值。我试图用我的验证回调函数来实现这一点,但我并没有走多远。这是我的代码:
function tccl_settings_option_validate( $input ) {
add_option( \'tccl_settings_option\', $input );
}
这导致了一个相当大的错误。我应该怎么做?我想做的是使用验证回调向选项数组添加值,而不覆盖它。
获取选项,仅修改需要修改的值,然后返回结果。
function tccl_settings_option_validate( $input ) {
$options = get_option(\'tccl_settings_option\');
// modify $options using data from $input as needed
return $options;
}
在tccl\\u settings\\u option\\u validate函数中,您需要:
获取所有现有选项的数组
比如:
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;
}
您不必保存选项,这样就可以了。您的验证功能应该检查输入,然后return
某物
function tccl_settings_option_validate( $input ) {
// do some checking/formatting/whatever of $input
// and then
return $input;
}