Автоматическое обновление плагинов WordPress — это важная функция для безопасности и стабильности сайта. Однако в некоторых случаях возникает необходимость отключить эту функцию, например, чтобы избежать несовместимости с другой темой или плагином, протестировать обновления вручную или сохранить стабильность на важных проектах. В этой статье мы подробно разберём, как отключить автоматическое обновление плагинов WordPress с помощью кода и плагинов, а также рассмотрим практические советы для безопасного управления обновлениями.
Почему стоит отключать автоматические обновления плагинов WordPress
Автоматические обновления помогают поддерживать сайт в актуальном состоянии, но иногда они приводят к неожиданным проблемам. Например, после обновления плагина может нарушиться функциональность сайта, возникнуть конфликты с темой или другими плагинами. Также если сайт критичен по доступности, нежелательно, чтобы обновления происходили без контроля администратора.
Отключение автоматических обновлений позволяет:
- Тестировать обновления на локальной или тестовой копии сайта перед применением на боевом.
- Избежать сбоев из-за несовместимости.
- Сохранять контроль над процессом обновления и проводить его в удобное время.
Если вы решились отключить автоматические обновления, важно не забывать регулярно проверять наличие новых версий и обновлять плагины вручную.
Отключение автоматических обновлений плагинов через functions.php
Самый простой и безопасный способ — добавить в файл functions.php активной темы или в собственный плагин небольшой код, который отключит автообновления.
Отключение всех автоматических обновлений плагинов
add_filter('auto_update_plugin', '__return_false');
Этот фильтр полностью запрещает автоматическое обновление всех плагинов на сайте.
Отключение обновления для конкретного плагина
Если нужно отключить автообновление только для определённого плагина, например, «contact-form-7/wp-contact-form-7.php», используйте следующий код:
add_filter('auto_update_plugin', 'wpabout_disable_auto_update_for_plugin', 10, 2);
function wpabout_disable_auto_update_for_plugin($update, $item) {
if ($item->plugin === 'contact-form-7/wp-contact-form-7.php') {
return false; // Отключаем автообновление для этого плагина
}
return $update; // Для остальных — оставляем как есть
}
Такой подход даёт гибкость, позволяя управлять обновлениями выборочно.
Использование плагинов для управления автоматическими обновлениями
Если вы предпочитаете не трогать код, существуют готовые плагины, которые позволяют контролировать автообновления через удобный интерфейс.
Надёжные плагины для управления обновлениями
- Easy Updates Manager — мощный инструмент для гибкой настройки обновлений, включая плагины, темы и ядро WordPress. Позволяет отключать/включать автообновления по отдельным элементам.
- WP Auto Update Settings — простой плагин для включения и отключения автоматических обновлений с возможностью выборочного управления.
- Clearfy Pro — расширенный плагин оптимизации, который среди прочего содержит инструменты управления автообновлениями и безопасности. Подробнее о Clearfy Pro можно узнать на wpshop.ru.
Установка и настройка таких плагинов обычно сводится к выбору нужных опций в админке WordPress.
Практические советы и рекомендации
При отключении автоматических обновлений важно соблюдать несколько правил:
- Регулярно проверяйте обновления вручную. Это позволит не пропустить важные патчи безопасности.
- Тестируйте обновления на тестовом сайте. Так вы избежите сбоев на живом проекте.
- Делайте резервные копии перед обновлением. В случае проблем можно быстро откатиться.
- Следите за совместимостью плагинов и темы. Иногда обновления требуют обновления темы или других плагинов.
Пример кастомного плагина для отключения автообновлений определённых плагинов
Если вы хотите централизованно управлять автообновлениями, можно создать собственный плагин с таким кодом:
<?php
/**
* Plugin Name: WPAbout Disable Auto Updates
* Description: Отключение автоматических обновлений для выбранных плагинов
* Version: 1.0
* Author: WPAbout
*/
add_filter('auto_update_plugin', 'wpabout_disable_auto_update_for_plugin', 10, 2);
function wpabout_disable_auto_update_for_plugin($update, $item) {
$plugins_to_disable = [
'contact-form-7/wp-contact-form-7.php',
'akismet/akismet.php'
];
if (in_array($item->plugin, $plugins_to_disable)) {
return false;
}
return $update;
}
?>
Этот плагин отключит автообновления для Contact Form 7 и Akismet, позволяя другим плагинам обновляться автоматически.