Автоматические обновления в WordPress — это удобная функция, которая помогает поддерживать сайт в актуальном состоянии, обеспечивая безопасность и исправление ошибок без участия пользователя. Однако в некоторых случаях автоматические обновления могут привести к несовместимости с установленными плагинами или темами, вызвать нежелательные сбои или изменения на сайте. В этой статье мы подробно рассмотрим, как отключить автоматические обновления в WordPress разными способами, включая примеры кода и рекомендации по использованию плагинов.
Что такое автоматические обновления в WordPress и зачем их отключать?
Начиная с версии 3.7, WordPress получил встроенную систему автоматических обновлений, которая обновляет ядро, плагины и темы для повышения безопасности и стабильности. Основные типы обновлений:
- Мелкие обновления ядра (например, исправления безопасности)
- Автоматические обновления плагинов и тем (начиная с WordPress 5.5, если включены)
- Обновления переводов
Отключение автоматических обновлений может понадобиться, если вы хотите полностью контролировать процесс обновлений, тестировать совместимость на тестовом сервере или избегать ошибок, вызванных несовместимостью. Особенно это важно для сложных проектов с индивидуальной настройкой и уникальными плагинами.
Как отключить все автоматические обновления ядра через файл wp-config.php
Самый простой способ отключить автоматические обновления ядра WordPress — добавить в файл wp-config.php следующую константу:
define('WP_AUTO_UPDATE_CORE', false);
Эта строчка полностью запрещает любые автоматические обновления ядра, включая мелкие, крупные и бета-обновления. Однако она не влияет на обновления плагинов и тем.
Обратите внимание, что если вы используете этот метод, важно регулярно проверять обновления вручную и устанавливать их, чтобы избежать проблем с безопасностью.
Отключение автоматических обновлений плагинов и тем с помощью фильтров в functions.php
Для отключения автоматических обновлений плагинов и тем в WordPress версии 5.5 и выше можно использовать фильтры в файле functions.php вашей темы или в собственном плагине. Вот примеры:
Отключение автоматических обновлений плагинов
add_filter('auto_update_plugin', '__return_false');
Этот фильтр полностью отключает автоматические обновления всех плагинов.
Отключение автоматических обновлений тем
add_filter('auto_update_theme', '__return_false');
Аналогично, отключает автоматические обновления всех тем.
Если вы хотите отключить обновления только для отдельных плагинов или тем, можно написать более сложную функцию с проверкой имени плагина или темы.
Пример функции для отключения обновлений конкретного плагина
Допустим, вам нужно отключить автоматические обновления только для плагина WooCommerce. Тогда используйте следующий код:
function wpsolution_disable_auto_update_plugin( $update, $item ) {
if ( isset($item->slug) && $item->slug === 'woocommerce' ) {
return false; // Отключаем обновление для WooCommerce
}
return $update; // Остальные плагины обновляются как обычно
}
add_filter('auto_update_plugin', 'wpsolution_disable_auto_update_plugin', 10, 2);
Этот код проверяет slug плагина и возвращает false, если это WooCommerce, тем самым блокируя автоматические обновления только для него.
Использование плагинов для управления автоматическими обновлениями
Если вы предпочитаете не работать с кодом, для управления автоматическими обновлениями существуют удобные плагины. Например:
- Easy Updates Manager — мощный инструмент, который позволяет включать или отключать автоматические обновления ядра, плагинов, тем и переводов из админки.
- Clearfy Pro (https://wpshop.ru/clearfy-pro/?utm_source=wpsolution.ru&utm_medium=article&utm_campaign=kak-otkluchit-avtomaticheskie-obnovleniya-wordpress) — многофункциональный плагин для оптимизации WordPress, включая гибкую настройку обновлений.
Преимущество таких решений — управление обновлениями через удобный интерфейс без необходимости менять код.
Отключение автоматических обновлений переводов
По умолчанию WordPress автоматически обновляет файлы переводов. Если по каким-то причинам вы хотите отключить и это, добавьте в functions.php следующую строку:
add_filter('auto_update_translation', '__return_false');
Это позволит вам самостоятельно контролировать обновления языковых файлов.
Как проверить статус автоматических обновлений и отладить их работу
Чтобы убедиться, что автоматические обновления отключены или работают правильно, можно использовать несколько способов:
- Проверить наличие констант и фильтров в
wp-config.phpиfunctions.php. - Использовать плагин WP Crontrol для просмотра и управления задачами WP-Cron, которые отвечают за обновления.
- Включить режим отладки WordPress, добавив в
wp-config.phpстрокуdefine('WP_DEBUG', true);и смотреть логи обновлений.
Также для мониторинга обновлений можно создать свой плагин с логированием срабатывания фильтров и хуков.
Резюме и практические советы
Отключение автоматических обновлений WordPress — важный инструмент для разработчиков и администраторов, которые хотят контролировать процесс обновлений и избегать конфликтов. Главное — не забывать вручную проверять и устанавливать обновления, чтобы поддерживать безопасность сайта.
Используйте константу WP_AUTO_UPDATE_CORE для глобального отключения обновлений ядра, фильтры auto_update_plugin и auto_update_theme для более детального управления обновлениями плагинов и тем. Для удобства и расширенного функционала подойдут проверенные плагины, например, Easy Updates Manager или Clearfy Pro.
Если нужны примеры или помощь с настройкой конкретных сценариев обновлений, рекомендуем обращаться к документации WordPress и к сообществам разработчиков.