Автоматическое обновление тем в WordPress позволяет значительно упростить поддержку сайта, своевременно получать исправления ошибок и новые функции без лишних усилий. Однако в стандартной версии WordPress автоматическое обновление тем отключено по умолчанию, в отличие от плагинов. В этой статье разберёмся, как добавить автоматическое обновление тем с помощью кода и плагинов, а также уделим внимание безопасности и возможным нюансам.
Почему важно включать автоматическое обновление тем WordPress
Темы — важный компонент сайта, отвечающий за внешний вид и часть функционала. Устаревшие темы могут создавать уязвимости, негативно влиять на производительность и совместимость с последними версиями WordPress и плагинов. Регулярное обновление тем помогает:
- Поддерживать безопасность сайта, закрывая известные дыры;
- Получать новые функции и улучшения;
- Избегать конфликтов с другими компонентами;
- Ускорять работу сайта за счёт оптимизаций в новых версиях.
Автоматизация обновлений снижает риск забыть или откладывать их вручную, особенно если на сайте много активных тем.
Как включить автоматическое обновление тем через functions.php
Самый простой способ — добавить в файл functions.php вашей активной темы или в собственный плагин следующий фильтр, который разрешит автоматические обновления для всех тем:
add_filter('auto_update_theme', '__return_true');Этот код говорит WordPress автоматически обновлять все темы, установленные на сайте, при выходе новых версий. Но будьте внимательны: если вы используете дочернюю тему, обновлять можно только родительскую, а изменения в дочерней могут потеряться.
Если нужно разрешить обновление конкретной темы, можно использовать более гибкий код:
function wpfactory_auto_update_specific_theme( $update, $item ) {
$allowed_themes = ['twentytwentyone', 'twentytwentytwo']; // Слаги тем для обновления
if ( in_array( $item->slug, $allowed_themes ) ) {
return true;
}
return $update;
}
add_filter('auto_update_theme', 'wpfactory_auto_update_specific_theme', 10, 2);Этот пример позволяет обновлять только темы с определёнными слагами, что даёт больше контроля.
Использование плагинов для автоматического обновления тем
Если вы предпочитаете интерфейс, а не код, существует несколько надёжных плагинов для управления автоматическими обновлениями:
- Easy Updates Manager — универсальный плагин для управления обновлениями плагинов, тем и ядра WordPress. Позволяет гибко настраивать, какие компоненты обновлять автоматически.
- WP Auto Update — простой и лёгкий плагин, который можно настроить для автоматического обновления тем.
Для установки Easy Updates Manager перейдите в админку WordPress: Плагины > Добавить новый, найдите плагин, установите и активируйте. Затем в настройках выберите автоматическое обновление тем.
Подробнее про Easy Updates Manager и его возможности можно узнать на официальной странице плагина.
Риски и рекомендации при автоматическом обновлении тем
Автоматические обновления — удобная функция, но могут возникнуть проблемы:
- Конфликты с кастомными изменениями. Если вы вносили правки напрямую в файлы темы, они могут быть перезаписаны.
- Нестабильность новых версий. Иногда обновления содержат баги, которые могут нарушить работу сайта.
- Потеря данных. Если тема хранит пользовательские настройки в файлах, они могут быть утеряны.
Чтобы минимизировать риски, рекомендуем:
- Использовать дочерние темы для кастомизаций.
- Регулярно делать резервные копии сайта (например, с помощью плагина WPRemark).
- Тестировать обновления на тестовом сайте перед применением на продакшене.
- Использовать плагины для управления обновлениями с возможностью отключения автоматического обновления для отдельных тем.
Автоматическое обновление тем в multisite WordPress
В мультисайтовой сети WordPress обновления управляются отдельно для каждого сайта. Чтобы включить автоматическое обновление тем в multisite, можно использовать фильтр с проверкой контекста:
function wpfactory_auto_update_theme_multisite( $update, $item ) {
if ( is_multisite() ) {
$allowed_themes = ['twentytwentytwo'];
if ( in_array( $item->slug, $allowed_themes ) ) {
return true;
}
}
return $update;
}
add_filter('auto_update_theme', 'wpfactory_auto_update_theme_multisite', 10, 2);Такой подход позволит централизованно управлять обновлениями тем во всей сети.
Пример создания собственного плагина для автоматического обновления тем
Если хочется полностью контролировать процесс, можно создать небольшой плагин-сниппет. Создайте файл wpfactory-auto-theme-update.php с таким содержимым:
<?php
/**
* Plugin Name: WPF Автообновление тем
* Description: Включает автоматическое обновление выбранных тем
* Version: 1.0
* Author: WPF Factory
*/
function wpfactory_auto_update_selected_themes( $update, $item ) {
$themes_to_update = ['twentytwentyone', 'twentytwentytwo'];
if ( in_array( $item->slug, $themes_to_update ) ) {
return true;
}
return $update;
}
add_filter('auto_update_theme', 'wpfactory_auto_update_selected_themes', 10, 2);
Установите этот плагин в админке WordPress, и выбранные темы будут обновляться автоматически. Такой способ удобен при развертывании сайтов с одинаковым набором тем.