В каком случае нужно запрещать обновления в 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' );
Для версий от 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 имеется возможноть полностью запретить обновления плагинов тем и движка одновременно, при этом нельзя будет добавлять новые и редактировать уже установленные.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Спасибо!!! А то бывало ,переведешь шаблон,а тут бац и она обновилась...
Спасибо большое, информация помогла)
Интересно, а если долго не обновляться, то сайт глючить не станет?
не станет)
Порой очень важные советы. Которые спасают в некоторых случаях.
Спасибо, это работает ;)
Огромное спасибо! Так не хотелось устанавливать лишний плагин запрета обновлений и вот наткнулся на вашу статью. Буду всегда использовать)
пожалуйста) рад помочь
Миш, а могут быть ошибки, если одновременно прописаны эти коды для всех версий ВП?
если нужно прописать их для всех версий, то рекомендую использовать
if
илиcase
для проверки используемой версии, например:Нет, такой задачи не стоит.
Я такой код где-то в поиске нашла, но там он был приведен полностью, без расшифровки, что к каждой версии свой. Скопировала в function, а потом в логах увидела, что крон ругается на лишние функции.
Спасибо за разъяснение :)
владельцы некоторых блогов любят постить что попало, при этом сами не тестируют код и не понимают что к чему.
пожалуйста:)
Здравствуйте!
1. Я вставила код против обновления движка от 3.0 и у меня там другая надпись стоит:
У вас свежая версия WordPress. Следующие обновления безопасности будут применяться автоматически.
Что это значит, он будет сам обновляться автоматически?
2. В какое именно место надо ставить код в functions.php.?
Здравствуйте!
1. Ко всему прочему попробуйте добавить в
wp-config.php
этот код:2. Лучше в конец файла.
Благодарю, теперь просто пишет У вас свежая версия WordPress.
Ваш блог очень полезный, я ваш новый читатель.
Буду рад видеть вас у себя на блоге)
Привет снова).
Смотрю через Query Monitor. Вот эта строчка
Вызывает Slow Database Queries . Она обращается к wp_option и вываливает весь массив. Страница загружается на несколько секунд дольше.
Привет!)
Да, увы. Можно ли её заменить чем-нибудь более оптимальным?
Вчера нашла рекомендацию поставить плаг Disable All WordPress Updates. Но он привел к экрану смерти. Подозреваю, что из-за конфликта с суперкешем.
Как я поняла, wp_clear_scheduled_hook отвечает за постановку запросов в cron.php. Я отключила крон в конфиге, т.к. на сайте не используется отложенные записи и трекбеки с пингами.
Подскажите как отключить только обновления "Языка"
Переводы
Ваши переводы не требуют обновления.
а то они автоматически подтягиваются и заменяю существующие.
В
functions.php
:Добрый день!
Функция create_function удалена из PHP 8.
Теперь пишем так:
function($a){ return null; );