1. Начало
  2. WordPress
  3. Деактивиране на плъгин в WordPress (нестандартен начин)

Деактивиране на плъгин в WordPress (нестандартен начин)

Освен стандартния начин през администрацията на сайта, деактивиране на плъгин в WordPress може да се извърши с редактиране на данните в базата данни. Още един начин за деактивиране е, като преименуваме директорията на дадения плъгин.

Случва се понякога да имаме проблеми с достъпа до WordPress след активиране на плъгин и трябва да се логнем отново, за да променим настройки на въпросния плъгин или да го деактивираме, но … нямаме достъп до администрацията.

Ако имаме достъп до файловете на WordPress, в повечето случаи преименуване или изтриване директорията на плъгина в wp-content/plugins го деактивира.

За съжаление, не можем да потвърдим, че всички (близо 55000) плъгина в официалното хранилище на WordPress работят коректно по този начин. Представете си, че има плъгин, който създава собствен запис в базата данни, изтриването на файловете няма да премахне този запис.

Информацията в тази статия може да се окаже изключително полезна, ако някога се окажем в подобна ситуация, тъй като ни показва как да деактивираме един или всички плъгини през phpMyAdmin или SSH, в зависимост от начина, по който достъпваме базата данни на сайта (ще покажем как се прави и през двата интерфейса).

Ако имате съмнения коя база данни ползва сайта, трябва да проверите във файла wp-config.php в главната директория на WordPress. Препоръчаме добрата практика при инсталиране на WordPress да запазвате в отделен файл цялата информация за администратора, базата данни и контактния имейл.

Деактивиране на всички плъгини през phpMyAdmin

Достъпваме phpMyAdmin и отваряме коректната база данни.

Кликваме бутона Search.

В полето за търсене въвеждаме plugins, маркираме всички WordPress таблици, като в секция Inside tables кликнем линка Select all и кликаме бутона Go.

деактивиране на плъгин в базата данни

В примера търсенето показва резултати в таблиците _options и _posts. Ако имате публикации (pages, posts, comments), които съдържат думата за търсене plugins, ще има резултати и в таблицата _posts.

Ние обаче се интересуваме само от резултатите в таблицата _options, тъй като искаме да деактивираме плъгини, а не да редактираме статии.

Кликваме линка Browse и се зареждат редовете, които съдържат думата за търсене plugins.

резултати от търсенето

Важни за нас са записите в колоната option_name на ред active_plugins.

активните плъгини в active_plugins

Кликаме линка Edit на същия ред, за да влезем в интерфейса за редактиране.

Маркираме и изтриваме съдържанието на реда option_value в колона Value.

премахваме цялото съдържание във Value на option_value

За да запазим промяната, кликаме само единия от двата бутона Go:

  • След натискане на бутона, вдясно ще останем на същата страница;
  • Ако натиснем бутона под двете падащи менюта Save и Go back to previous page, ще се върнем на предишната страница в phpMyAdmin.

WordPress ще попълни в полето записа a:0:{}, тоест няма нито един активен плъгин.

Сега вече всички плъгини са деактивирани, въпреки че директориите им са запазени в wp-content/plugins.

Бърза проверка в администрацията ни убеждава, че плъгините са наистина деактивирани.

всички плъгини са деактивирани

Описаният начин деактивира всички плъгини. Може да деактивираме един плъгин по следния начин.

Деактивиране на един плъгин през phpMyAdmin

През phpMyAdmin отваряме базата данни за сайта. Намираме в таблицата _options реда на active_plugins и кликваме Edit.

деактивиране на плъгин, маркиране само на неговия стринг

Внимателно изтриваме текстовия стринг на дадения плъгин и намаляваме цифрата след буквата а, защото тя показва общия брой активирани плъгини.

Форматирахме реда, за да различаваме по-лесно отделните елементи на записа.

a:5:
{
i:0;s:19:"akismet/akismet.php";
i:1;s:49:"easy-table-of-contents/easy-table-of-contents.php";
i:2;s:9:"hello.php";
i:3;s:41:"wordpress-importer/wordpress-importer.php";
i:4;s:21:"wp-sweep/wp-sweep.php";
}

Ако решим да деактивираме плъгина за таблици на съдържанието, трябва да изтрием целия ред:

i:1;s:49:"easy-table-of-contents/easy-table-of-contents.php";

и да променим a:5: на a:4:.

a:4:
{
i:0;s:19:"akismet/akismet.php";
i:2;s:9:"hello.php";
i:3;s:41:"wordpress-importer/wordpress-importer.php";
i:4;s:21:"wp-sweep/wp-sweep.php";
}

Ако директно работите в полето в phpMyAdmin, изтривате стринга на плъгина и натискате Enter, за да се запазят промените.

Презареждаме панела с плъгините в администрацията на сайта и посоченият плъгин е деактивиран.

плъгинът е деактивиран

Заради вероятността от допускане на грешка, препоръчаме да деактивирате всички плъгини (като изтриете всички записи) и през администрацията на WordPress да активирате коректно работещите плъгини отново.

Преименуване или премахване директория на WordPress плъгин

Друг начин за деактивиране на плъгини е, като преименуваме или премахнем директорията им.

Независимо по какъв начин ще достъпите директориите и файловете на сайта – през FTP, SSH или Файловият мениджър в cPanel, за да деактивирате някой плъгин, просто преименувайте директорията му.

Например във Файловия мениджър в cPanel, отворете директория plugins.

преименуване на директорията на плъгина

При зареждане на списъка с плъгини в администрацията ще видите съобщение:

The plugin akismet/akismet.php has been deactivated due to an error: Plugin file does not exist.

плъгинът е деактивиран

Ако кликнете на Delete за плъгина, WordPress ще изтрие и преименуваната директория. Което показва, че WordPress държи всички процеси „под око“.

Обновена: 19.01.2022

Беше ли Ви полезна тази статия?

Вижте още