Меню Закрыть

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


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

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

Причины отказа от обновлений

Когда выпускается новая версия плагина, система, соответственно, предлагает его обновление и при очередном заходе в административную панель своего сайта очень часто можно увидеть следующую картину:
(для увеличения изображения сделайте щелчок мышью на картинке)
Обновление плагина Если у вас в админке не включены автоматические обновления плагинов, вам предоставляется выбор из двух вариантов — обновлять либо отказаться от обновлений.
Рассмотрим вторую версию.

Зачем это нужно делать? Есть несколько вариантов ответа. Один из них, с которым я столкнулся, связан с плагином Page Restrict.  Он служит для ограничения определенных страниц для зарегистрированных пользователей. Плагин переведен на русский язык частично. Я сделал окончательный перевод и все стало выглядеть, как на скриншоте:
(для увеличения изображения сделайте щелчок мышью на картинке)Отключить обновления плагинаНо, при очередном обновлении всё возвращается на «кру′ги своя′» и надписи снова появляются на английском.  Это не критично, но мне лично удобнее воспринимать русский язык. Поэтому я отключил обновления данного плагина.

Способы отключения обновлений плагина

№1. Отключение обновлений при помощи плагинов

Установить соответствующий плагин, не вдаваясь в элементарные знания HTML-кода, поиска мест его внедрения и пр. — самый простой и понятный вариант. Но, это не самый правильный выбор. Потому, что после установки плагина, например, Easy Updates Manager и с его помощью отключения обновлений одного из его «сородичей», возникает ситуация, когда система выдает примерно такие сообщения:
(для увеличения изображения сделайте щелчок мышью на картинке)Уведомление системы Получается небольшой конфликт. Вроде бы плагин совместим с версией WordPress, а небольшой пердимонокль присутствует.
Но, всё же, для управления и отключения обновлений WordPress, включая ядро, плагины и темы, сторонники установки этих модулей могут воспользоваться плагином Easy Updates Manager. При помощи этого плагина, помимо всего прочего, можно отключать обновления как всех плагинов, так и избранных вами.

После установки и активации плагина в главном меню появится ссылка Консоль → Параметры обновлений. На вкладке Плагины вы с легкостью сможете выбрать необходимые параметры обновления, как ручного, так и автоматического. Отключение обновлений плагинов

№2. Изменить версию в файле плагина

Для этого необходимо в файловом менеджере открыть главный файл нужного плагина по пути: ваш сайт.ru → wp-content → plugins → искомый плагин → главный файл. Его найти легко, так как он имеет похожее название с названием плагина, только с расширением php.

В начале файла есть информация о версии плагина:
(для увеличения изображения сделайте щелчок мышью на картинке)Изменение версии плагина

Далее нужно произвести простое действие — изменить версию плагина на более отдаленную перспективу, просто увеличив «циферки». В этом случае плагин не станет обновляться, пока не выйдет версия новее заданной нами.

№3. Вставить определенный код в главный файл плагина

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

add_filter('site_transient_update_plugins', function($value) {
if( ! is_object($value) ) return $value;

// удаляем текущий плагин из списка
unset( $value->response[ plugin_basename(__FILE__) ] );

return $value;
});

Для отключения обновлений приведенный выше фрагмент кода нужно скопировать и вставить в главный файл плагина. Как говорилось ранее, обычно главный файл имеет название, сходное с названием плагина, например, для плагина Page Restrict главный файл будет иметь название pagerestrict.php. (У вас, по всей вероятности, будет другое название.)
Для этого, в вашем файловом менеджере откройте корневую папку своего сайта и найдите файл плагина по пути: wp-content → plugins → искомый плагин → главный файл и вставьте код.
При внедрении кода в файл плагина соблюдайте осторожность. Его можно вставить сразу после кода указания параметров плагина, например:Код отключения обновлений плагина
Применение этого способа, равно как и остальных, в отличие от результатов работы плагина Easy Updates Manager, не сказывается на показателях здоровья сайта:Здоровье сайта

№4. Вставить определенный код в файл functions.php темы сайта

Этот способ предполагает внесение изменений в коде файлов темы сайта. Поэтому, как мне кажется, является менее удачным вариантом. Но, такой метод тоже имеет право на существование.

add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
function filter_plugin_updates( $value ) {
unset( $value->response['pagerestrict/pagerestrict.php'] );
return $value;
}

Перед вставкой этого фрагмента кода необходимо определить путь к главному файлу плагина (выделено красным цветом). Здесь нужно заменить выделенное красным цветом, указав свою папку с плагином и главный файл вашего плагина.
Чтобы разместить этот участок кода, нужно его скопировать и вставить в файл functions.php активной темы вашего сайта. Для этого в файловом менеджере откройте корневую папку сайта и найдите его по пути wp-content → themes → ваша тема → functions.php. А как правильно вставить этот код читайте далее.

Как правильно вставить php-код в functions.php

  1. Перед вставкой кода обязательно сохраните исходный functions.php.
  2. Для редактирования файла functions.php лучше всего подойдет бесплатный текстовой редактор: для Windows — Notepad++, для MacOS — Coda, для Linux — vim.

Установка кода в functions.php требует определенных знаний, без которых все изменения в этом файле темы, могут привести к серьезной ошибке в работе сайта, вплоть до его блокировки, после чего тему придется переустанавливать.
Главное условие правильного размещения нужного вам кода в functions.php заключается в том, чтобы при его установке, вы не нарушили его целостность и структуру.
Вставлять код в файле functions.php можно в любом месте, но, во избежание риска, лучше всего это сделать в самом низу.
Как правило, во всех темах WordPress, в самом конце файла стоит тег ?>.  Перед ним и нужно вставить наш код.


1 комментарий

  1. Станислав

    Здравствуйте! Спасибо за статью! Подскажите, а как сделать, чтобы уведомления оставались о том, что новая версия плагина есть, но обновиться нельзя было при этом?!

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

         Яндекс.Метрика