WordPress sitenize YARP (Yet-Another-Related-Posts) eklentisi ile PageBar eklentilerini yüklediğinizde YARP’ın yönetim sayfası aşağıdaki hatayı veriyor ve yönetemiyorsunuz.
Fatal error: Cannot redeclare checkbox() in guvenli_dizin/wp-content/plugins/yet-another-related-posts-plugin/options.php on line 134
Hata mesajından yola çıkarak options.php‘nin 134. satırındaki function checkbox() isimli foksiyonunun daha önce de tanımlanmış olduğunu anlıyoruz. WordPress’in plugins dizininde ufak bir arama yaptıktan sonra PageBar eklentisinin kodlarında aynı isimde bir başka fonksiyonun tanımlandığını gördüm. Sorunu çözmek için fonksiyonun ismini checkbox_() şeklinde değiştirip kaydettikten sonra sorun çözüldü. Tabi options.php içinde çağrı yapılan tüm yerlere de aynı değişikliği uyguladım. Kolay olması açısından kullandığınız editörün düzen menüsündeki bul ve değiştir seçeneğini kullanarak bu işi hızlıca yapabilirsiniz. Aranacak değeri checkbox( değiştirilecek değeri de checkbox_( olarak verdim ve options.php dosyasını sunucuya tekrar yükledim. Bu şekilde yapınca sorun çözülüyor fakat YARP’ın her güncellemesinde bu işlemi yeniden yapmak gerekiyor. YARP’ın geliştiricileri ilgilenir düşüncesi ile bir hata bildiriminde de bulundum.
Aslında checkbox() ve textbox() gibi jenerik isimlerin eklentilerde fonksiyon ismi olarak kullanılmaması gerekir. Bu isimlerin yerine yarp_checkbox() gibi eklentiye özel bir isimlendirme tercih edilebilirdi.