Как запретить обновление определенного плагина

Как запретить обновление определенного плагина | n-wp.ru
Код, запрещающий обновление определенного плагина (или нескольких плагинов). Так же он убирает напоминание о новых обновлениях, доступных для указанного плагина.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Иногда возникает ситуация, когда понимаешь, что оставить старую версию плагина лучше, чем обновить плагин. Такая ситуация возникает, если к плагину привязаны некоторые функции темы блога, например оформление, определенный вывод результатов, но при обновлении вся эта привязка нарушается, и после каждого обновления приходится что-то переделывать вручную.

А бывает так, что автор плагина что-то изменит в коде, да так, что после этого плагин становится опасно использовать, либо он нарушает работу движка или темы. И после обновления плагина приходится восстанавливать работу блога, а потом решать, что делать с плагином — удалять его, отказываясь в дальнейшем от работы с ним, или восстанавливать старую, работоспособную версию.

Если вы хотите сохранить старую версию плагина, но не хотите, чтобы WordPress постоянно выдавал сообщения об обновлении плагина, то можете избавиться от них. Для этого добавьте в файл functions.php:

// запрет на обновление определенных плагинов

function filter_plugin_updates( $update ) {    
    global $DISABLE_UPDATE; // указывается в wp-config.php
    if( !is_array($DISABLE_UPDATE) || count($DISABLE_UPDATE) == 0 ){  return $update;  }
    foreach( $update->response as $name => $val ){
        foreach( $DISABLE_UPDATE as $plugin ){
            if( stripos($name,$plugin) !== false ){
                unset( $update->response[ $name ] );
            }
        }
    }
    return $update;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );

Обратите внимание на строку 4 — в ней находится переменная, в которой указываются короткие имена плагинов, на обновление которых нужно установить запрет. Они указываются в файле wp-config.php:

//код функции в functions.php
$DISABLE_UPDATE = array( 'wp_translate', 'akismet', 'другие' );

Как узнать короткие названия плагинов, которые нужно вставлять в код файла wp-config.php? Он совпадает с наименованием папки плагина на хостинге.

Как запретить обновление определенного плагина

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

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий