Мы уже рассказывали о запрете обновления ядра, тем и плагинов WordPress.
Но иногда возникает возможность запретить обновление отдельного плагина. Чаще всего это связано с тем, что вы вносили какие-то изменения в файлы плагина или опасаетесь, что с обновлением плагина, изменится его функционал.
Мы предлагаем два способа запрета обновления конкретного плагина:
1. Самый простой, может быть не очень корректный с точки зрения продвинутого пользователя WordPress, но идеально подходящий новичкам.
Каждый плагин имеет свою версию, записанную в основном файле плагина. Каждый раз CMS сверяет эту версию с версией плагина в репозитории и при необходимости обновляет плагин. Соответственно, изменив версию установленного плагина на достаточно большое число, мы фактически запретим обновление.
Сделать это достаточно просто.
Зайдите в раздел «Плагины», в административной консоли WordPress. Найдите нужный плагин и нажмите на «Изменить»
В открывшемся файле (это и есть главный файл плагина), найдите строчку Version
Измените версию плагина. В нашем случае мы указали 99.9.9. и нажмите кнопку «Обновить файл»
2. Вариант для более продвинутых пользователей.
Можно создать фильтр для блокирования обновления отдельных плагинов.
Для этого вам нужно:
Прописать в файл config.php массив директорий плагинов, обновление которых вы хотите заменить. Если плагин состоит из одного файла – указывайте название плагина.
1 |
$DISABLE_UPDATE = array( 'название директории плагина 1', 'название директории плагина 2', 'другие названия' ); |
Добавить в function.php текущей темы добавить код, обрабатывающий массив и запрещающий обновление указанных в нем плагинов.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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' ); |
Учтите, что при смене темы, запрет обновления плагинов работать не будет.
Запрещая обновление плагинов, не забывайте, что если сам WordPress обновляется – код плагин со временем может перестать работать.
0 комментарий