Как правильно отключить обновление плагина в WordPress?
Как правильно запрещать плагинам WordPress обновляться. Нужна отмена обновления плагина и уведомлений о необходимости обновиться. Нужно чтобы плагин никак не тревожил: не выводил уведомления и всякие метки о том что есть новая версия и нужно обновить плагин.
Спасибо!
Есть несколько способов отключить обновление конкретного плагина, перечислю их в порядке, в котором я бы рекомендовал действовать.
Способ 1: изменение версии плагина
При проверке сравниваются версии текущего плагина и плагина в каталоге WP, если версия в каталоге выше, то предлагается обновить плагин. Т.е. все что вам нужно сделать, это открыть плагин и изменить его версию на заведомо высшую.
Например, у вас есть плагин
wp-super-cacheи нужно отключить его обновления. Открываем главный файл плагинаwp-cache.php. Для этого переходим вАдминку > Плагины > Редактор > Выбор плагинаи видим в начале такие строки:Заменяем версию, строку в строке
Version: 1.4.7наVersion: 99991.4.7и сохраняем изменения.Готово! Теперь у вас самая старшая версия плагина, и обновлять её на меньшую WP никогда не будет...
Способ 2: вставка кода в плагин
Вставь вот такой код в основной файл плагина и готово!
add_filter( 'site_transient_update_plugins', 'wpkama_disable_plugin_update' ); function wpkama_disable_plugin_update( $value ){ if( ! is_object( $value ) ){ return $value; } // удаляем текущий плагин из списка unset( $value->response[ plugin_basename(__FILE__) ] ); return $value; }Спосбо 2.1: код для functions.php
Если вставлять код в плагин не вариант, то предыдущий код можно использовать за пределами плагина, чтобы отменить проверку его обновлений. Вставлять в плагин удобно, потому что там мы можем динамически получить его базовое им, которое обычно такое:
название папки плагина/главный файл плагина.php.Пример для плагина Akismet:
add_filter( 'site_transient_update_plugins', 'wpkama_disable_plugins_update' ); function wpkama_disable_plugins_update( $value ) { unset( $value->response['akismet/akismet.php'] ); return $value; }Способ 3: плагины
Для отключения обновлений есть специальные плагины, вот некоторые из них:
Весь список плагинов
Читайте также про отключение обновлений в WordPress: https://wp-kama.ru/id_16562/disable-wp-updates-check.html
П.С. Вот тут в комментариях отвечал на такой же вопрос.
Скажите пожалуйста, а когда плагин проверяет свои обновления, он дает сигнал на сервер обновлений, что на таком то сайте он, плагин, установлен?
Точно не знаю, но ВП как-то мониторит установленные плагины, скорее всего обновляет метку времени при запросах на проверку обновлений...
Спасибо! Сменила версию, плагин вроде по прежнему работает))))
Спасибо бро!!!
Спасибо огромное, дружище!
помог этот код
add_filter('site_transient_update_plugins', function($value) { // удаляем текущий плагин из списка unset( $value->response[ plugin_basename(__FILE__) ] ); return $value; });Скажите, пожалуйста, как отключить обновления для всех плагинов, не пребигая к плагинов.
Я нашел еще вариант, где можно прописать сразу несколько плагинов, главное не ошибиться с написанием имена папки и основного файла плагина.
function disable_plugin_updates( $value ) { $pluginsToDisable = [ 'plugin-folder/plugin.php', 'plugin-folder2/plugin2.php' ]; if ( isset($value) && is_object($value) ) { foreach ($pluginsToDisable as $plugin) { if ( isset( $value->response[$plugin] ) ) { unset( $value->response[$plugin] ); } } } return $value; } add_filter( 'site_transient_update_plugins', 'disable_plugin_updates' );Используйте этот код: https://wp-kama.ru/id_16562/disable-wp-updates-check.html#all-plugs
Спасибо, помог способ 2.1: код для functions.php.
Если кому то нужно отключить сразу пару плагинов, просто добавьте идущие друг за другом строчки
unset( $value->response['1/1.php'] );
unset( $value->response['2/2.php'] );
unset( $value->response['3/3.php'] );