Обновления WordPress важны для безопасности и стабильности вашего сайта, но иногда есть необходимость их отключить. Например, если вы хотите избежать конфликтов с кастомными темами или плагинами (ведь мы никогда не знаем наперед какие изменения будут в ядреидвика WP или разных плагинов). В этом руководстве мы рассмотрим простой и безопасный способ отключения обновлений WordPress.
Оглавление:
- Подготовка перед отключением обновлений в Вордпрессе
- Отключение обновлений WP с помощью плагинов
- Отключение проверки WordPress на наличие обновлений для ядра, плагинов и тем
- Код для отключение обновлений WordPress в файле functions.php вашей темы
- Отключение обновлений отдельных плагинов в WordPress
- Проверка и тестирование после внесенных изменений по отключению обновлений WP
- Как отключить полностью все обновления в WordPress — полный код
- Финалочка
Подготовка перед отключением обновлений в Вордпрессе
Перед тем как отключить обновления, убедитесь, что у вас есть резервные копии вашего сайта. Это поможет восстановить сайт в случае проблем. Лучше всего иметь backup для всей папки с файлами сайта, а также сделать бекап еще и для базы данных вашего сайта. Особенно это необходимо делать если вы новичек в разработке. И поверьте моему горькому опыту — ЭТО ДЕЛАТЬ НЕОБХОДИМО.
Отключение обновлений WP с помощью плагинов
Существуют плагины, такие как «Disable Updates Manager», которые позволяют отключить обновления в несколько кликов. Просто установите плагин и следуйте инструкциям.
Отключение проверки WordPress на наличие обновлений для ядра, плагинов и тем
Помимо самих обновлений вордпрес также использует ресурсы вашего сервера чтобы проверять существуют ли обновления для самого движка WP, всех установленных плагинов и темы которую вы используете. Проверку также можно отключить использую данный код:
// Отключение проверки на обновления WordPress
function disable_wordpress_updates() {
// Отключение проверки версии WordPress
remove_action( 'wp_version_check', 'wp_version_check' );
// Отключение инициализации проверки обновления ядра WordPress при доступе в админ-панель
remove_action( 'admin_init', '_maybe_update_core' );
// Отключение временного хранения данных об обновлении ядра WordPress
add_filter( 'pre_site_transient_update_core', '__return_null' );
// Отключение проверки обновления плагинов при загрузке страницы плагинов
remove_action( 'load-plugins.php', 'wp_update_plugins' );
// Отключение проверки обновления плагинов при загрузке страницы обновлений
remove_action( 'load-update.php', 'wp_update_plugins' );
// Отключение инициализации проверки обновления плагинов при доступе в админ-панель
remove_action( 'admin_init', '_maybe_update_plugins' );
// Отключение крон-задачи по проверке обновления плагинов
remove_action( 'wp_update_plugins', 'wp_update_plugins' );
// Отключение временного хранения данных об обновлении плагинов
add_filter( 'pre_site_transient_update_plugins', '__return_null' );
// Отключение проверки обновления тем при загрузке страницы тем
remove_action( 'load-themes.php', 'wp_update_themes' );
// Отключение проверки обновления тем при загрузке страницы обновлений
remove_action( 'load-update.php', 'wp_update_themes' );
// Отключение инициализации проверки обновления тем при доступе в админ-панель
remove_action( 'admin_init', '_maybe_update_themes' );
// Отключение крон-задачи по проверке обновления тем
remove_action( 'wp_update_themes', 'wp_update_themes' );
// Отключение временного хранения данных об обновлении тем
add_filter( 'pre_site_transient_update_themes', '__return_null' );
}
// Добавление функции отключения проверки обновлений в хук 'init', чтобы она выполнялась при инициализации WordPress
add_action( 'init', 'disable_wordpress_updates' );
Этот код прекращает все проверки на обновления в WordPress, включая проверки обновлений для ядра WordPress, плагинов и тем, путем удаления соответствующих действий и фильтров. Данное решение снизит нагрузку и даже может увеличить скорость работы сайта как в админке, так на фронте.
Код для отключение обновлений WordPress в файле functions.php вашей темы
Если вы предпочитаете не использовать плагины, что я вам и рекомендую, вы можете отключить обновления, добавив код в файл functions.php
вашей темы. Не советую использовать большое количество плагинов — это в дальнейшем приведет к подключение большого количества скриптов, стилей и дополнительных запросов к базе данных вашего сайта — это 100% негативно скажется на скорости работы сайта и ненужному мусору в базе данных.
// Отключение обновлений ядра WordPress
add_filter( 'auto_update_core', '__return_false' );
// Отключение обновлений тем
remove_action( 'load-update-core.php', 'wp_update_themes' );
add_filter( 'auto_update_theme', '__return_false' );
// Отключение обновлений плагинов
remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'auto_update_plugin', '__return_false' );
Отключение обновлений отдельных плагинов в WordPress
Иногда так случается что часть плагинов должна обновляться, а другая часть должна быть отключена от обновления. Напрмиер потому что одна версия плагина использует версию php 5.6 а обновленная версия того же плагина уже использует 8 версию php, а сайт на вашем сервере по прежнему работает на старой версию 5.6
Для того чтобы отключить один или несколько плагинов, вам нужно знать название папки плагина и соответственно название основного файла самого плагина с расширением .php вот пример для отключения стандартного плагина akismet:
function disable_plugin_updates( $value ) {
if ( isset( $value ) && is_object( $value ) ) {
// Замените 'akismet/akismet.php' на идентификатор вашего плагина
unset( $value->response['akismet/akismet.php'] );
}
return $value;
}
add_filter( 'site_transient_update_plugins', 'disable_plugin_updates' );
Переходим в папку с плагинами, которая находится в папке ваш сайт/wp-content/plugins/
Далее мы видим название папки самого плагина — akismet
Внутри данной папки находим главный файл плагина с таким же названием — akismet.php
Проверка и тестирование после внесенных изменений по отключению обновлений WP
После того как вы отключили обновления, настоятельно рекомендую проверить, все ли работает на вашем сайте корректно. В особенности обойти вручную те страницы где задействуются ранее установленные плагины и если это интернет-магазин, то обязательно сделать тестовую покупку товара на сайте чтобы убедиться в полной работоспособности сайта.
Отключение обновлений WordPress может быть полезным в определенных ситуациях. Но, это также может повлиять на безопасность сайта, поэтому важно понимать зачем вы отключаете обновления. Например вы разработали сайт своему другу или клиенту и это простой информационный сайт, который в принцепе обновлять и не нужно, тогда смело отключайте обновы, ведь они создают хоть и небольшую но нагрузку на сервер.
Как отключить полностью все обновления в WordPress полный код
Как отключить полностью все обновления в WordPress — полный код
Если вы хотите отключить все, что касается обновлений в вордпрессе, то вот код, который вы можете скопировать и вставить в файл вашей темы function.php — он отключил абсолютно все, что связано с обновлениями и вам больше не нужно будет об этом беспокоиться.
// Отключение проверки и выполнения обновлений WordPress
function disable_wordpress_updates_and_upgrades() {
// Отключение проверки версии WordPress
remove_action( 'wp_version_check', 'wp_version_check' );
// Отключение инициализации проверки обновления ядра WordPress при доступе в админ-панель
remove_action( 'admin_init', '_maybe_update_core' );
// Отключение временного хранения данных об обновлении ядра WordPress
add_filter( 'pre_site_transient_update_core', '__return_null' );
// Отключение проверки обновления плагинов при загрузке страницы плагинов
remove_action( 'load-plugins.php', 'wp_update_plugins' );
// Отключение проверки обновления плагинов при загрузке страницы обновлений
remove_action( 'load-update.php', 'wp_update_plugins' );
// Отключение инициализации проверки обновления плагинов при доступе в админ-панель
remove_action( 'admin_init', '_maybe_update_plugins' );
// Отключение крон-задачи по проверке обновления плагинов
remove_action( 'wp_update_plugins', 'wp_update_plugins' );
// Отключение временного хранения данных об обновлении плагинов
add_filter( 'pre_site_transient_update_plugins', '__return_null' );
// Отключение проверки обновления тем при загрузке страницы тем
remove_action( 'load-themes.php', 'wp_update_themes' );
// Отключение проверки обновления тем при загрузке страницы обновлений
remove_action( 'load-update.php', 'wp_update_themes' );
// Отключение инициализации проверки обновления тем при доступе в админ-панель
remove_action( 'admin_init', '_maybe_update_themes' );
// Отключение крон-задачи по проверке обновления тем
remove_action( 'wp_update_themes', 'wp_update_themes' );
// Отключение временного хранения данных об обновлении тем
add_filter( 'pre_site_transient_update_themes', '__return_null' );
// Отключение автоматического обновления ядра WordPress
add_filter( 'auto_update_core', '__return_false' );
// Отключение автоматического обновления тем
add_filter( 'auto_update_theme', '__return_false' );
// Отключение автоматического обновления плагинов
add_filter( 'auto_update_plugin', '__return_false' );
}
// Добавление функции отключения проверки и выполнения обновлений в хук 'init', чтобы она выполнялась при инициализации WordPress
add_action( 'init', 'disable_wordpress_updates_and_upgrades' );
Код должен быть совместим для всех версий WP. Автоматические обновления были добавлены в движек начиная с версии 3.7 но код также должен быть совместим и с более ранними версиями CMS. Надеюсь уже никто не используют более старые версии)
Финалочка
Мы разобрали все возможные варианты того, как отключить обновления WordPress. Все варианты рабочие и могут быть полезны в опредленных случаях. Напишите в комментариях для чего вам понадобилось вырубить обновы движка?
Для отправки комментария вам необходимо авторизоваться.