wpfts_submit_settings_before (Filter)

Фильтр wpfts_submit_settings_before в WP Fast Total Search вызывается перед обработкой данных, отправленных через AJAX-форму настроек плагина. Он позволяет разработчикам перехватывать и обрабатывать данные формы до того, как они будут сохранены в базе данных.

Когда используется

Этот фильтр может быть полезен, если вам нужно:

  • Валидировать данные формы: Вы можете проверить корректность введенных данных и вывести сообщение об ошибке, если данные недействительны.
  • Предобработать данные формы: Вы можете изменить данные формы перед их сохранением, например, привести значения к определенному формату.
  • Добавить или удалить данные формы: Вы можете добавить дополнительные данные в форму или удалить ненужные данные.
  • Полностью переопределить обработку формы: Вы можете полностью перехватить обработку формы и выполнить свои собственные действия.

Аргументы

  • $is_form_processed (bool): Флаг, указывающий, была ли форма уже обработана. Изначально false. Если установить этот флаг в true, стандартная обработка формы будет пропущена.
  • $data (array): Массив данных, отправленных через форму.
  • $jx (object): Объект WPFTS_jxResponse, который используется для отправки ответов AJAX.

Возвращаемое значение

  • $is_form_processed (bool): Модифицированный флаг, указывающий, была ли форма обработана.

Пример (валидация данных формы)

add_filter('wpfts_submit_settings_before', 'validate_my_addon_settings', 10, 3);
 
function validate_my_addon_settings($is_form_processed, $data, $jx) {
  if (isset($data['my_addon_setting'])) {
 
    if (!is_numeric($data['my_addon_setting'])) {
    	$jx->alert(__('My addon setting must be a number!', 'fulltext-search'));
      	return true; //  Форма обработана (с ошибкой), стандартную обработку пропускаем.
    }
  }
  return $is_form_processed; //  Форма не обработана, продолжаем стандартную обработку.
}

Важные замечания

  • Фильтр wpfts_submit_settings_before вызывается перед стандартной обработкой формы.
  • Если вы установите $is_form_processed в true, стандартная обработка формы будет пропущена.
  • Вы можете использовать объект $jx для отправки сообщений об ошибках или других данных обратно в JavaScript.

Этот фильтр дает разработчикам возможность контролировать процесс обработки настроек WP Fast Total Search и добавлять свою логику валидации и предобработки данных.