Используя API-интерфейс настроек, как мне добавить несколько значений в параметр?

Я пытаюсь добавить / обновить дополнительные значения в параметр, созданный с помощью API настроек. Я пытаюсь сделать это с помощью моей функции проверки верности, но я не очень далеко. Вот мой код:

function tccl_settings_option_validate( $input ) { add_option( 'tccl_settings_option', $input ); } 

Это вызывает довольно большую ошибку. Как я должен это делать?

То, что я хотел бы сделать, это использовать обратный вызов validation для добавления значений в массив параметров без его перезаписи.

Solutions Collecting From Web of "Используя API-интерфейс настроек, как мне добавить несколько значений в параметр?"

Получите этот параметр, измените только значения, которые вам нужно изменить, а затем верните результаты.

 function tccl_settings_option_validate( $input ) { $options = get_option('tccl_settings_option'); // modify $options using data from $input as needed return $options; } 

В вашей функции tccl_settings_option_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; }