В некоторых случаях автоматические обновления тем WordPress могут приводить к неожиданным проблемам с совместимостью или нарушать кастомные настройки. Особенно это важно для сайтов с уникальной версткой или интеграциями. В этой статье мы подробно рассмотрим, как отключить автоматические обновления тем WordPress программно, а также с помощью популярных плагинов.
Почему нужно отключать автоматические обновления тем WordPress
Автоматические обновления в WordPress призваны повысить безопасность и стабильность сайта. Однако темы часто содержат индивидуальные кастомизации, которые могут быть перезаписаны при обновлении. Кроме того, новые версии темы могут конфликтовать с плагинами или изменять внешний вид сайта.
Отключение автообновлений тем позволяет контролировать процесс обновления, тестировать новые версии в отдельной среде и применять их вручную, минимизируя риски.
Стоит отметить, что отключение автоматических обновлений не означает отказ от обновлений вообще — они просто становятся ручными.
Как отключить автоматические обновления тем WordPress через functions.php
Один из самых простых способов — добавить фильтр в файл functions.php вашей активной темы или в отдельный подключаемый плагин.
<?php
// Отключаем автоматические обновления для всех тем
function wpdirect_disable_theme_auto_updates( $update, $item ) {
if ( isset( $item->type ) && $item->type === 'theme' ) {
return false;
}
return $update;
}
add_filter( 'auto_update_theme', 'wpdirect_disable_theme_auto_updates', 10, 2 );
?>
Этот код проверяет тип обновления и запрещает автообновления для всех тем.
Если нужно отключить автообновления только для конкретной темы, например, twentytwentyone, то код можно модифицировать так:
<?php
function wpdirect_disable_specific_theme_auto_update( $update, $item ) {
if ( isset( $item->type ) && $item->type === 'theme' && isset( $item->theme ) ) {
if ( $item->theme === 'twentytwentyone' ) {
return false;
}
}
return $update;
}
add_filter( 'auto_update_theme', 'wpdirect_disable_specific_theme_auto_update', 10, 2 );
?>
Использование плагинов для отключения автообновлений тем
Если вы предпочитаете не редактировать код, можно использовать плагины. Например:
- Easy Updates Manager — мощный инструмент для управления всеми типами обновлений в WordPress, включая темы. Позволяет гибко настроить автообновления.
- WP Disable Auto Updates — простой плагин, который отключает все автообновления, или только темы и плагины по отдельности.
Для настройки Easy Updates Manager:
- Установите и активируйте плагин через репозиторий WordPress.
- Перейдите в панель управления плагином в админке.
- В разделе управления обновлениями найдите настройку для тем и отключите автоматические обновления.
Это позволит вам контролировать обновления без вмешательства в код.
Как проверить, отключились ли автообновления тем
Для проверки статуса автообновлений можно использовать хуки и функции WordPress.
Например, добавить такой код для отладки:
<?php
add_filter( 'auto_update_theme', function( $update, $item ) {
error_log( 'Theme update check: ' . $item->theme . ' - update allowed: ' . ( $update ? 'yes' : 'no' ) );
return $update;
}, 10, 2 );
?>
Это запишет в лог информацию о том, для каких тем разрешены автообновления.
Практические рекомендации по управлению обновлениями тем
Для безопасного обновления тем рекомендуем:
- Создавать дочерние темы для кастомизаций, чтобы обновления не затрагивали ваши изменения.
- Тестировать новые версии тем на локальном сервере или staging-сайте перед применением на боевом.
- Регулярно создавать резервные копии сайта.
- Использовать инструменты мониторинга и уведомлений о новых версиях тем.
Например, плагин Clearfy Pro помогает управлять обновлениями и оптимизировать работу сайта.
Обобщение и выводы
Отключение автоматических обновлений тем в WordPress — важный шаг для сайтов с индивидуальными настройками и нестандартными темами. Используйте программные фильтры или проверенные плагины для управления обновлениями. Обязательно тестируйте и делайте резервные копии перед обновлением, чтобы избежать потери данных и сбоев.