WordPress как на ладони
wordpress jino

Как правильно отключить обнвление плагина в WordPress?

Как правильно запрещать плагинам WordPress обновляться. Нужна отмена обновления плагина и уведомлений о необходимости обновиться. Нужно чтобы плагин никак не тревожил: не выводил уведомления и всякие метки о том что есть новая версия и нужно обновить плагин.

Спасибо!

1
Гость 1.3 года назад
  • 2
    Kama4486

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

    Способ 1: изменение версии плагина

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

    Например, у вас есть плагин wp-super-cache и нужно отключить его обновления. Открываем главный файл плагина wp-cache.php. Для этого переходим в Админку > Плагины > Редактор > Выбор плагина и видим в начале такие строки:

    <?php
    /*
    Plugin Name: WP Super Cache
    Plugin URI: https://wordpress.org/plugins/wp-super-cache/
    Description: Very fast caching plugin for WordPress.
    Version: 1.4.7
    Author: Automattic
    Author URI: https://automattic.com/
    License: GPL2+
    Text Domain: wp-super-cache
    */

    Заменяем версию, строку в строке Version: 1.4.7 на Version: 99991.4.7 и сохраняем изменения.

    Готово! Теперь у вас самая старшая версия плагина, и обновлять её на меньшую WP никогда не будет...

    Способ 2: вставка кода в плагин

    Вставь вот такой код в основной файл плагина и готово!

    add_filter('site_transient_update_plugins', function($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', 'filter_plugin_updates' );
    function filter_plugin_updates( $value ) {
    	unset( $value->response['akismet/akismet.php'] );
    	return $value;
    }

    Способ 3: плагины

    Для отключения обновлений есть специальные плагины, вот некоторые из них:

    П.С. Вот тут в комментариях отвечал на такой же вопрос.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.