Wordpress, esnekliği ve sağlam alt yapısı ile en başarılı içerik yönetim araçlarının başında gelmektedir. Sunmuş olduğu eklenti desteği her ne kadar mükemmel bir özellik olsa bile bazen sisteme yüklenen bir eklenti siteyi kilitleyebilmektedir. Bu yazımızda eklenti hatasından dolayı kilitlenen ve yönetim paneline ulaşılamayan Wordpress sitemizde yönetim paneline ulaşmadan eklentileri devre dışı bırakmayı göreceğiz.
Temel olarak eklentiyi devre dışı bırakmanın iki yolu bulunmaktadır. Bunların ilk dosya yöneticisi üzerinden ilgili eklenti klasörünün adını değiştirmektir.
FTP veya CPanel dosya yöneticisi üzerinden klasör listesinden ilgili klasör adı aşağıdaki gibi değiştirildiğinde eklenti devre dışı kalacaktır.
İkinci yol ise veri tabanı üzerinden devre dışı bırakılmasıdır. Bu için de aşağıdaki yol izlenir.
wp_options tablosundan “active_plugins” değerinin silinmesi ile bütün eklentiler devre dışı bırakılmış olur. Devre dışı bırakılan eklentilerin tekrar aktifleştirilmesi ile değer tekrardan otomatik oluşur.
Veri tabanı üzerinden sadece belli eklentileri devre dışı bırakmak için ise “active_plugins” değerinin çalışma mantığına değinmek gerekmektedir.
“active_plugins” değeri aslında serileştirilmiş bir dizidir. Aşağıdaki örneği inceleyecek olursak konu daha net görülür sanırım.
// Serilize edilmiş haldeki örnek active_plugins değeri:
a:8:{i:0;s:21:"adrotate/adrotate.php";i:1;s:19:"akismet/akismet.php";i:2;s:33:"better-related/better-related.php";i:3;s:17:"clicky/clicky.php";i:4;s:49:"custom-post-permalinks/custom-post-permalinks.php";i:5;s:32:"disqus-comment-system/disqus.php";i:6;s:33:"export-to-text/export-to-text.php";i:7;s:36:"google-sitemap-generator/sitemap.php";}
// Sonuç
array(8) {
[0]=>
string(21) "adrotate/adrotate.php"
[1]=>
string(19) "akismet/akismet.php"
[2]=>
string(33) "better-related/better-related.php"
[3]=>
string(17) "clicky/clicky.php"
[4]=>
string(49) "custom-post-permalinks/custom-post-permalinks.php"
[5]=>
string(32) "disqus-comment-system/disqus.php"
[6]=>
string(33) "export-to-text/export-to-text.php"
[7]=>
string(36) "google-sitemap-generator/sitemap.php"
}
Buradan da anlaşılacağı baştaki “a:8:” ifadesi sekiz elemanlı bir dizi olduğunu göstermektedir. “i:X” ifadesi x. sıradaki eklenti olduğunu gösterir. “s:yy” ifadesi de X. sıradaki elemanın yolunu tutmak için yy kadar alan ayrıldığını gösteriyor.
Örneğimizde 1. indekste yer alan akismet eklentisini devre dışı bırakmak için izlenecek adımlar şöyle:
- Bir adet eklentiyi devre dışı bırakacağımızdan “a:X:” değerindeki X değerini bir azaltıyoruz.
- Dizi içerisinde akismet eklentisini ifade eden “i:1;s:19:”akismet/akismet.php”;” değeri sildikten sonra değişikliği kaydediyoruz.
Yazımızı bir uyarı ile bitirelim: Özellikle veri tabanı tarafında sıkıntı yaşayacağınızı düşünüyorsanız wp_options tablosuna dokunmamakta yarar var. Sitenin bütün ayarları bu tabloda yer aldığından yapılacak hatalı bir işlem o ayar ile ilgili kısımda sıkıntı çıkabilir.