Освен стандартния начин през администрацията на сайта, деактивиране на плъгин в 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.
Кликаме линка Edit на същия ред, за да влезем в интерфейса за редактиране.
Маркираме и изтриваме съдържанието на реда option_value
в колона 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 държи всички процеси „под око“.