Кеширование — важный механизм для ускорения работы сайта на WordPress. Однако иногда возникает необходимость очистить кеш, чтобы изменения на сайте отображались корректно. В этой статье мы рассмотрим, как удалить кеш в WordPress разными способами — через плагины, сервер и программно, с примерами кода.
Что такое кеш и зачем его удалять в WordPress
Кеш — это временное хранилище данных, которое позволяет сократить время загрузки страниц за счет повторного использования ранее полученных результатов. В WordPress кеш может быть на уровне браузера, сервера, плагина или CDN.
Удаление кеша нужно, когда вы вносите изменения в шаблоны, стили, скрипты, контент и не видите обновлений на сайте. Без очистки кеша посетители могут видеть устаревшую версию страниц, что негативно сказывается на пользовательском опыте и тестировании.
Давайте разберемся, как удалить кеш в WordPress наиболее эффективно.
Удаление кеша с помощью популярных плагинов
WP Super Cache — очистка кеша одним кликом
WP Super Cache — один из наиболее популярных плагинов для кеширования страниц. Для удаления кеша достаточно перейти в настройки плагина и нажать кнопку Delete Cache.
Кроме того, можно добавить кнопку очистки кеша в админ-панель или использовать следующий код, чтобы автоматически очищать кеш при публикации записи:
function wpnote_clear_cache_on_save($post_id) {
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
}
add_action('save_post', 'wpnote_clear_cache_on_save');W3 Total Cache — управление кешем
Плагин W3 Total Cache предлагает множество настроек кеширования. Очистить кеш можно через админ-панель: Performance → Dashboard → Empty All Caches. Это удалит кеш страниц, объекта, базы данных и браузера.
Для программного вызова очистки кеша используйте:
function wpnote_w3tc_clear_cache() {
if (function_exists('w3tc_flush_all')) {
w3tc_flush_all();
}
}
add_action('save_post', 'wpnote_w3tc_clear_cache');Удаление кеша на уровне сервера и CDN
Если ваш хостинг использует серверное кеширование (например, Varnish, NGINX FastCGI cache), то очистка кеша может потребовать дополнительной настройки.
Обычно для очистки кеша нужно воспользоваться панелью управления хостингом или SSH-доступом. Например, для Varnish можно выполнить команду:
varnishadm ban req.url ~ .Для CDN (например, Cloudflare) очистка кеша выполняется в панели управления CDN или через API.
Обратите внимание, что если вы используете CDN, то очистка кеша в WordPress не всегда достаточно — нужно очистить кеш и на CDN.
Программное удаление кеша в WordPress: примеры функций
Удаление кеша объекта
Объектный кеш хранит в памяти результаты запросов к базе данных. Чтобы очистить кеш объекта, можно использовать функцию:
function wpnote_flush_object_cache() {
if (function_exists('wp_cache_flush')) {
wp_cache_flush();
}
}Добавьте вызов этой функции в нужном месте, например, после сохранения записи.
Удаление кеша транзиентов
Транзиенты — временные данные, которые также нужно очищать для актуализации информации. Пример функции для удаления всех транзиентов:
function wpnote_delete_all_transients() {
global $wpdb;
$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_%'");
}Используйте эту функцию с осторожностью, чтобы не повредить работу сайта.
Как добавить кнопку очистки кеша в админ-панель WordPress
Для удобства администраторов можно добавить собственную кнопку очистки кеша в меню админ-панели. Вот пример кода, который добавляет пункт меню и очищает кеш WP Super Cache:
function wpnote_admin_menu_clear_cache() {
add_menu_page('Очистить кеш', 'Очистить кеш', 'manage_options', 'wpnote-clear-cache', 'wpnote_clear_cache_page');
}
add_action('admin_menu', 'wpnote_admin_menu_clear_cache');
function wpnote_clear_cache_page() {
if (isset($_POST['wpnote_clear_cache'])) {
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
echo '<div class="updated">Кеш очищен!</div>';
}
echo '<form method="post"><input type="submit" name="wpnote_clear_cache" class="button button-primary" value="Очистить кеш" /></form>';
}Этот код позволит быстро очищать кеш без перехода в настройки плагина.
Советы по работе с кешем в WordPress
Для эффективного управления кешем следуйте рекомендациям:
- Настройте кеширование правильно, учитывая особенности вашего сайта и хостинга.
- Используйте автоматическую очистку кеша при обновлении контента.
- Не забудьте очищать кеш CDN отдельно от кеша WordPress.
- Тестируйте изменения после очистки кеша на разных устройствах и в разных браузерах.
Чистка кеша — обязательная часть администрирования сайта, которая помогает избежать проблем с отображением и ускоряет процесс разработки.