Хук, вызываемый перед сохранением текстового виджета
Мне нужно узнать, какой хук/действие вызывается непосредственно перед сохранением содержимого и заголовка текстового виджета в базе данных. Я много искал в Google, но не смог найти название хука.
Что мне нужно: когда нажимается кнопка сохранения текстового виджета (в админ-панели), я хочу применить свою пользовательскую функцию для изменения контента и вернуть обновлённое содержимое, чтобы WordPress сохранил его.
Обратите внимание: Мой вопрос не является дубликатом этого вопроса, потому что там речь идёт о фильтре, а я ищу хук или действие. Это может быть одним из решений, но не лучшим в моём случае, так как будет потреблять много ресурсов.
Пример: У меня есть 10 активных текстовых виджетов в сайдбаре, и при каждой загрузке страницы для каждого виджета будет вызываться widget_text
. Поэтому я ищу более эффективное решение.
Любая помощь будет очень appreciated.
Спасибо.

Не уверен, что именно вам нужно, но есть другие возможные варианты, например, этот хук:
/**
* Фильтрует настройки виджета перед сохранением.
*
* Возврат false эффективно прервет возможность виджета
* обновлять настройки.
*
* @since 2.8.0
*
* @param array $instance Текущие настройки экземпляра виджета.
* @param array $new_instance Массив новых настроек виджета.
* @param array $old_instance Массив старых настроек виджета.
* @param WP_Widget $this Текущий экземпляр виджета.
*/
$instance = apply_filters(
'widget_update_callback',
$instance,
$new_instance,
$old_instance,
$this
);
Вот пример, как мы можем настроить виджеты Text и изменить поле ввода text
при их обновлении:
add_filter( 'widget_update_callback', function( $instance, $new, $old, $obj )
{
if( 'text' === $obj->id_base && ! empty( $instance['text'] ) )
{
// Внимание: это переопределяет текстовый ввод экземпляра виджета:
// $instance['text'] = 'переопределенный текст';
}
return $instance;
}, 10, 4 );
