Описание pre_set_site_transient_{$transient}
— Filter
Хук pre_set_site_transient_{$transient} позволяет изменять значения временных транзиентов перед их установкой в WordPress. Он срабатывает при вызове функции set_site_transient() и дает возможность модифицировать данные, которые будут сохранены в базе данных
Примеры использования
Пример изменения значения транзиента перед его сохранением:
add_filter('pre_set_site_transient_my_transient', function($value) {
// Изменяем значение транзиента
return 'Новое значение';
});
В этом примере мы изменяем значение транзиента ‘my_transient’ на ‘Новое значение’
Пример добавления префикса к имени транзиента:
add_filter('pre_set_site_transient_my_transient', function($value, $transient) {
// Добавляем префикс к имени транзиента
$transient = 'prefix_' . $transient;
return $value;
}, 10, 2);
В этом примере мы модифицируем имя транзиента, добавляя к нему префикс
Пример условия для изменения значения транзиента:
add_filter('pre_set_site_transient_my_transient', function($value) {
// Изменяем значение только если оно пустое
if (empty($value)) {
return 'Значение по умолчанию';
}
return $value;
});
Здесь мы устанавливаем значение транзиента только если оно пустое
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить данные транзиентов перед их сохранением
– Производительность
Изменение значений транзиентов не должно негативно влиять на производительность, однако стоит учитывать, что частое изменение данных может привести к увеличению нагрузки на базу данных
– Предупреждения
Следите за тем, чтобы изменения не нарушали логику работы вашего приложения, особенно если транзиенты зависят от внешних данных
Альтернативы
Тип: function
Функция для непосредственной установки транзиента, если вам нужно управлять данными без использования хуков
Используйте ее, если вы хотите установить транзиенты без необходимости их модификации через хуки