wp-code.ru wordpress WP-Codе

Как отключить автоматическое обновление плагинов в WordPress с помощью кода

Почему нужно отключать автоматическое обновление плагинов?

Автоматические обновления плагинов в WordPress помогают поддерживать безопасность и свежесть функционала сайта. Однако в некоторых случаях это может приводить к конфликтам, неожиданным ошибкам или несовместимости с другими компонентами, особенно на кастомных или критичных проектах. В таких ситуациях необходим контроль над процессом обновления — и отключение автоматических обновлений плагинов становится оптимальным решением.

Как проверить текущие настройки автоматических обновлений плагинов?

Чтобы проверить, включено ли автоматическое обновление плагинов на вашем сайте, выполните следующие шаги:

  • Перейдите в админ-панель WordPress в раздел Плагины > Установленные плагины.
  • Если у плагина включено автоматическое обновление, рядом с ним будет надпись Автоматическое обновление включено.
  • Для более детальной проверки можно использовать WP-CLI: wp plugin list --field=update покажет список плагинов с доступными обновлениями.

Пошаговое отключение автоматических обновлений плагинов через код

WordPress позволяет управлять поведением автоматических обновлений через фильтры. Для отключения автоматического обновления всех плагинов добавьте следующий код в файл functions.php вашей темы или в отдельный плагин:

add_filter('auto_update_plugin', '__return_false');

Этот фильтр отключит автоматическое обновление для всех плагинов.

Отключение автоматических обновлений для отдельных плагинов

Если нужно отключить автоматические обновления только для конкретных плагинов, используйте фильтр с функцией, проверяющей имя плагина:

add_filter('auto_update_plugin', 'disable_auto_update_for_specific_plugins', 10, 2); 
function disable_auto_update_for_specific_plugins($update, $item) {
    $plugins_to_disable = ['akismet/akismet.php', 'hello-dolly/hello.php'];
    if (in_array($item->plugin, $plugins_to_disable)) {
        return false;
    }
    return $update;
}

Замените 'akismet/akismet.php' и 'hello-dolly/hello.php' на пути к плагинам, для которых хотите отключить автообновления. Путь можно узнать в списке плагинов, наведя курсор на название.

Диагностика проблем с автоматическими обновлениями плагинов

Если автоматические обновления не работают или работают не так, как ожидается, проверьте:

  • Наличие в коде других фильтров, которые могут влиять на auto_update_plugin.
  • Права пользователя, под которым работает процесс обновления. Они должны позволять обновлять плагины.
  • Наличие постоянного соединения с сервером WordPress.org.
  • Логи сервера и ошибок PHP — иногда сбои обновлений видны там.

Проверка результата после внедрения кода

Чтобы убедиться, что автоматические обновления плагинов отключены:

  1. Обновите страницу Плагины в админке WordPress и убедитесь, что надпись об автообновлении исчезла у нужных плагинов.
  2. Используйте WP-CLI для проверки: wp plugin list --format=json — в поле автообновления (auto-updates) должно быть false.
  3. Подождите появления новых версий плагинов и проверьте, что они не обновились автоматически.

Частые ошибки и как их исправить

  • Код не работает после добавления в functions.php
    — Проверьте, нет ли синтаксических ошибок в коде.
    — Убедитесь, что фильтр добавлен до момента запуска автообновлений (обычно в начале файла functions.php).
  • Автообновления продолжают включаться для некоторых плагинов
    — Возможно, включены автообновления через админку для этих плагинов — отключите их вручную.
    — Проверьте, нет ли плагинов или тем, которые переопределяют этот фильтр.
  • Кэширование мешает обновлению статуса
    — Очистите кэш сайта и браузера.

Практические советы по безопасности и производительности

  • Отключая автообновления, не забывайте регулярно проверять наличие обновлений плагинов вручную, чтобы избежать уязвимостей.
  • Используйте Staging-среду для тестирования обновлений плагинов перед внедрением на боевой сайт.
  • Для больших проектов рассмотрите использование плагина Clearfy Pro от WPSHOP, который расширяет возможности управления автообновлениями и оптимизацией.

Сравнение способов отключения автообновлений плагинов

МетодПлюсыМинусыПример кода
Фильтр auto_update_plugin в functions.phpПростой, гибкий, не требует плагиновТребует доступа к коду, возможно конфликт с другими фильтрамиadd_filter('auto_update_plugin', '__return_false');
Отключение автообновлений через админкуИнтуитивно понятно, быстроТолько для отдельных плагинов, нет массового контроляВ интерфейсе плагинов WordPress
Специализированные плагины управления обновлениямиРасширенный функционал, расписание, исключенияЗависимость от стороннего софта, нагрузкаEasy Updates Manager, WP Rollback
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше