Функция wp_cache_delete()
в WordPress удаляет элемент из кэша, соответствующий указанным ключу и группе. Это полезно, когда нужно освободить ресурсы или удалить устаревшие данные из кэша. Если используется плагин для объектного кэширования, поведение функции может отличаться.
wp_cache_delete( int|string $key, string $group = '' ): bool
Параметры функции
$key
(int|string) — обязательный параметр. Ключ кэша, который нужно удалить.$group
(string) — опционально. Название группы, в которой хранится ключ. По умолчанию — пустая строка.
Возвращаемое значение
bool
— Возвращаетtrue
, если кэш успешно удалён, иfalse
при неудаче (например, если ключ не найден).
Пример 1: Удаление кэша поста
В этом примере кэш поста удаляется для обновления данных после его редактирования. Предположим, мы обновили пост с ID 101
и теперь удаляем его кэш.
$post_id = 101;
// Удаляем кэш для поста
wp_cache_delete($post_id, 'posts');
wp_cache_delete($post_id, 'post_meta');
В данном случае, кэш поста будет удалён из обеих групп: posts
и post_meta
.
Пример 2: Очистка кэша пользователя после обновления информации
Допустим, мы изменили данные пользователя с ID 42
и хотим удалить старую кэшированную информацию.
$user_id = 42;
// Удаляем кэш пользователя из групп users и user_meta
wp_cache_delete($user_id, 'users');
wp_cache_delete($user_id, 'user_meta');
Здесь кэш данных пользователя удаляется из групп users
и user_meta
, освобождая место для актуализированных данных.
Пример 3: Удаление кэша произвольных данных
Предположим, вы сохраняете временные данные для стороннего сервиса и хотите удалить их по завершении работы.
// Уникальный ключ для данных стороннего сервиса
$cache_key = 'third_party_data_567';
// Удаляем данные кэша из группы external_data
wp_cache_delete($cache_key, 'external_data');
Этот код удаляет кэшированные данные для third_party_data_567
из группы external_data
, когда они больше не нужны.
Пример 4: Удаление кэша товаров в интернет-магазине
В интернет-магазине при изменении информации о товаре кэш обновляется, чтобы пользователи видели актуальные данные. В примере ниже удаляется кэш для товара с ID 305
:
$product_id = 305;
// Удаляем кэш товара из групп product_data и product_inventory
wp_cache_delete($product_id, 'product_data');
wp_cache_delete($product_id, 'product_inventory');
Здесь кэш товара удаляется из групп product_data
и product_inventory
, чтобы отобразить актуальные данные пользователю.
Заключение
Функция wp_cache_delete()
— удобный способ контролировать и очищать кэш для указанных данных, что полезно в ситуациях, где важна актуальность информации. Эта функция позволяет экономить ресурсы и обеспечивает пользователей только свежими данными, особенно полезна в многопользовательских и динамических приложениях WordPress.