Описание pre_update_site_option_{$option}
— Filter
Хук pre_update_site_option_{$option} срабатывает перед обновлением значения определённой опции сайта. Он позволяет изменять или проверять данные перед их сохранением в базе данных, что полезно для контроля и валидации данных
Примеры использования
Пример валидации значения опции перед обновлением:
add_filter('pre_update_site_option_some_option', function($value, $old_value, $option) {
if ($value < 0) {
return 0; // Устанавливаем значение в 0, если оно отрицательное
}
return $value;
}, 10, 3);
Этот пример проверяет, что новое значение опции не является отрицательным
Пример изменения значения опции перед обновлением:
add_filter('pre_update_site_option_some_option', function($value, $old_value, $option) {
return strtoupper($value); // Преобразуем значение в верхний регистр
}, 10, 3);
В этом примере мы изменяем новое значение опции на его верхний регистр
Пример использования с кастомной логикой:
add_filter('pre_update_site_option_some_option', function($value, $old_value, $option) {
if ($value === 'special') {
return 'default'; // Если значение 'special', изменяем его на 'default'
}
return $value;
}, 10, 3);
Здесь мы меняем значение на ‘default’, если оно равно ‘special’
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо валидировать или изменять значение опции перед его сохранением
– Производительность
Следует избегать тяжелых операций внутри хука, чтобы не повлиять на производительность сайта
– Предупреждения
Следите за тем, чтобы изменения не нарушали логику работы сайта и не вводили в заблуждение администраторов
Альтернативы
Тип: action
Этот хук срабатывает после обновления опции сайта и позволяет выполнять дополнительные действия после сохранения
Используйте его, если необходимо выполнить какие-либо действия после обновления опции, например, кэширование