Отключение проверки обновлений WordPress-движка, плагинов и тем

В каком случае нужно запрещать обновления в WordPress? Только тогда, когда вы порылись в файлах темы или движка и что-то там изменили. Поэтому после обновления сайт будет уже совсем не такой, как хотелось бы.

Особенно это актуально для сайтов, которые делаются для клиентов. Предположим что-то пришлось изменить в движке, чуть позднее вышла новая версия WordPress и клиент установил её. Когда он обнаружит что что-то сломалось, он напишет вам. А потом снова обновится. И так до бесконечности :)

В зависимости от вашей версии WordPress выбираем нужный код ниже и вставляем его в functions.php.

Запрет обновления тем:

Для версий WordPress от 2.8 до 3.0:

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_transient_update_themes', create_function('$a',"return null;"));
wp_clear_scheduled_hook('wp_update_themes');

от 3.0:

remove_action('load-update-core.php','wp_update_themes');
add_filter('pre_site_transient_update_themes',create_function('$a', "return null;"));
wp_clear_scheduled_hook('wp_update_themes');

Плагины:

Для WordPress от 2.8 до 3.0:

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_transient_update_plugins', create_function('$a', "return null;"));
wp_clear_scheduled_hook( 'wp_update_plugins' );

от 3.0:

remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );
wp_clear_scheduled_hook( 'wp_update_plugins' );

Отключение обновлений движка WordPress:

Для версий от 2.3 до 2.7:

add_action('init',create_function('$a',"remove_action('init','wp_version_check');"), 2 );
add_filter('pre_option_update_core', create_function('$a',"return null;"));

от 2.8 до 3.0:

remove_action('wp_version_check','wp_version_check' );
remove_action('admin_init','_maybe_update_core');
add_filter( 'pre_transient_update_core', create_function'$a',"return null;"));
wp_clear_scheduled_hook('wp_version_check');

от 3.0:

add_filter('pre_site_transient_update_core',create_function('$a', "return null;"));
wp_clear_scheduled_hook('wp_version_check');

Использовав каждый из приведенных выше сниппетов кода, получаем:

обновления в WordPress отключены

Также в WordPress имеется возможноть полностью запретить обновления плагинов тем и движка одновременно, при этом нельзя будет добавлять новые и редактировать уже установленные.

Подпишитесь, чтобы раз в неделю получать свежие статьи с блога по email.

Смотрите также

Комментарии 21

  • @ndry28 ноября 2011 в 04:11 #

    Спасибо!!! А то бывало ,переведешь шаблон,а тут бац и она обновилась...

  • Сергей15 декабря 2011 в 03:12 #

    Спасибо большое, информация помогла)

  • Александр8 сентября 2012 в 19:09 #

    Интересно, а если долго не обновляться, то сайт глючить не станет?

  • Простой12 марта 2013 в 23:03 #

    Порой очень важные советы. Которые спасают в некоторых случаях.

  • Влад24 апреля 2013 в 08:04 #

    Спасибо, это работает ;)

  • Alex20 июня 2013 в 11:06 #

    Огромное спасибо! Так не хотелось устанавливать лишний плагин запрета обновлений и вот наткнулся на вашу статью. Буду всегда использовать)

  • VRS26 октября 2013 в 15:10 #

    Миш, а могут быть ошибки, если одновременно прописаны эти коды для всех версий ВП?

    • Миша27 октября 2013 в 11:10 #

      если нужно прописать их для всех версий, то рекомендую использовать if или case для проверки используемой версии, например:

      if (get_bloginfo('version') > 3.0){
      	// указываем код для версии 3.0 и выше
      }
      • VRS27 октября 2013 в 14:10 #

        Нет, такой задачи не стоит.
        Я такой код где-то в поиске нашла, но там он был приведен полностью, без расшифровки, что к каждой версии свой. Скопировала в function, а потом в логах увидела, что крон ругается на лишние функции.
        Спасибо за разъяснение :)

        • Миша27 октября 2013 в 17:10 #

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

  • Татьяна29 ноября 2014 в 08:11 #

    Здравствуйте!
    1. Я вставила код против обновления движка от 3.0 и у меня там другая надпись стоит:
    У вас свежая версия WordPress. Следующие обновления безопасности будут применяться автоматически.
    Что это значит, он будет сам обновляться автоматически?
    2. В какое именно место надо ставить код в functions.php.?

    • Миша29 ноября 2014 в 10:11 #

      Здравствуйте!
      1. Ко всему прочему попробуйте добавить в wp-config.php этот код:

      define( 'AUTOMATIC_UPDATER_DISABLED', true );
      define( 'WP_AUTO_UPDATE_CORE', false );

      2. Лучше в конец файла.

  • Татьяна29 ноября 2014 в 14:11 #

    Благодарю, теперь просто пишет У вас свежая версия WordPress.
    Ваш блог очень полезный, я ваш новый читатель.

  • VRS2 марта 2015 в 03:03 #

    Привет снова).
    Смотрю через Query Monitor. Вот эта строчка

    wp_clear_scheduled_hook( 'wp_update_plugins' );

    Вызывает Slow Database Queries . Она обращается к wp_option и вываливает весь массив. Страница загружается на несколько секунд дольше.

    • Миша2 марта 2015 в 11:03 #

      Привет!)
      Да, увы. Можно ли её заменить чем-нибудь более оптимальным?

      • VRS2 марта 2015 в 14:03 #

        Вчера нашла рекомендацию поставить плаг Disable All WordPress Updates. Но он привел к экрану смерти. Подозреваю, что из-за конфликта с суперкешем.
        Как я поняла, wp_clear_scheduled_hook отвечает за постановку запросов в cron.php. Я отключила крон в конфиге, т.к. на сайте не используется отложенные записи и трекбеки с пингами.

  • Алексей29 апреля 2015 в 11:04 #

    Подскажите как отключить только обновления "Языка"
    Переводы
    Ваши переводы не требуют обновления.

    а то они автоматически подтягиваются и заменяю существующие.

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Vladislav: Подправил имеющийся у меня код, по вашим рекомендациям, миниатюры начали отображаться, но они стали очень огромными, что...

  • Миша: Лишь предложил решение. Думаю можно нашаманить и так, чтобы чисто для рубрик было, не уверен только, что обойдётся без и...

  • Алексей: так надо комментарии в рубриках, а не на страницах в category.php а не в page.php

  • Миша: Здравствуйте! Сам WordPress это не поддерживает, но можно пойти хитрым путём. Первое, что пришло мне в голову, это:...

  • Алексей: Миша, здравствуйте! Подскажите, пожалуйста, что нужно, чтобы сделать комментарии на страницах рубрик. Я когда то давно...