Newspaper Theme ‘Fatal error: Cannot redeclare tdb_comment()’ Hatası Çözümü

WordPress’te Newspaper teması ve td-cloud-library eklentisi birlikte kullanılırken “Fatal error: Cannot redeclare tdb_comment()” hatasıyla site tamamen çökmüş gibi görünebilir. Sayfaları açmak yerine sadece bu hata mesajını görmek can sıkıcıdır — ama çözümü gerçekten basittir.

Hata Mesajının Tam Hali

Fatal error: Cannot redeclare tdb_comment() 
(previously declared in 
.../td-cloud-library/parts/tdb-comments.php on line 134) 
in .../td-cloud-library/parts/tdb-comments.php on line 195

Neden Bu Hata Oluşur?

PHP’de aynı isimde iki fonksiyon tanımlanamaz. Newspaper teması yorum alanı için tdb_comment() adında bir fonksiyon kullanır. Bir Single Post şablonuna [tdb_single_comments] shortcode’u iki kez eklendiğinde PHP bu fonksiyonu iki kez tanımlamaya çalışır ve “Cannot redeclare” (yeniden tanımlanamaz) hatasını verir.

Bu sorun genellikle şu durumlarda oluşur:

  • Cloud Template editöründe şablon kopyalanırken yorum alanı çift eklendi
  • Tema güncellemesi sonrası şablon yapısı değişti ve mevcut düzende çakışma oluştu
  • Şablon düzenlerken yorum elementi yanlışlıkla iki kez yerleştirildi

Adım Adım Çözüm

Adım 1: Admin Paneline Giriş

  • siteniz.com/wp-admin adresine gidin
  • Bu hata genellikle yalnızca frontend sayfalarını etkiler — admin paneli çalışıyor olmalı
  • Eğer admin paneline de giremiyorsanız aşağıdaki “Acil Durum Çözümü” bölümüne geçin

Adım 2: Cloud Templates Bölümüne Gidin

  • Sol menüde Cloud Templates seçeneğini tıklayın
  • Tüm şablon listesi görüntülenir

Adım 3: Aktif Single Post Şablonunu Bulun

  • Yazı sayfalarınızda kullandığınız Single Post şablonunu tespit edin
  • Emin değilseniz tüm “Single” şablonlarını tek tek kontrol edin
  • Özellikle “Default” olarak işaretli şablondan başlayın

Adım 4: Şablonu Düzenleme Modunda Açın

  • Şablonun yanındaki Düzenle (Edit) butonuna tıklayın
  • WPBakery / Visual Composer editörü açılır
  • Editör açılmıyorsa Backend Editor butonuna tıklayın

Adım 5: Duplicate Shortcode’u Bulun

  • Tarayıcının arama özelliğini açın: Ctrl+F (Windows) veya Cmd+F (Mac)
  • tdb_single_comments ifadesini aratın
  • Kaç tane bulunduğuna bakın
  • Bir taneden fazla varsa sorunun kaynağı budur

Adım 6: Fazla Olanı Silin

  • En alttaki veya en sondaki [tdb_single_comments] elementini bulun
  • Elementtin üzerine tıklayın, silme (X veya çöp kutusu) ikonuna tıklayın
  • Sadece bir tane kalmalı
  • Değişiklikleri kaydedin

Adım 7: Siteyi Test Edin

  • Herhangi bir yazı sayfasını açın
  • Fatal error mesajı kaybolmuş ve yazı normale dönmüş olmalı
  • Cache kullanıyorsanız cache’i temizleyin: wp litespeed-purge all --allow-root

Admin Paneline Giremiyorsanız: Acil Durum Çözümü

Hata admin panelini de etkiliyor ve giriş yapamıyorsanız:

FTP ile Eklentiyi Geçici Devre Dışı Bırakma:

  • FTP ile bağlanın, /wp-content/plugins/ dizinine gidin
  • td-cloud-library klasörünü td-cloud-library-disabled olarak yeniden adlandırın
  • Admin paneline girin ve şablonu düzeltin
  • Sonra FTP’den klasörü eski adına geri döndürün

WP-CLI ile:

# Eklentiyi geçici devre dışı bırak
wp plugin deactivate td-cloud-library --allow-root

# Düzenlemeyi yaptıktan sonra tekrar aktif et
wp plugin activate td-cloud-library --allow-root

Sorun Birden Fazla Şablonda Varsa

  • Tüm Cloud Template’lerinizi tarayın
  • Hem “Single Post” hem “Single Page” şablonlarını kontrol edin
  • Birden fazla şablonda düzeltme yapmanız gerekebilir

Sorun Tema Güncellemesinden Sonra Tekrar Ederse

  • Newspaper teması ve td-cloud-library güncellemelerini dikkatli takip edin
  • Güncelleme sonrası mutlaka bir yazı sayfasını test edin
  • Güncelleme öncesi Cloud Template şablonlarınızın yedeğini alın
  • Sürüm notlarında bu tür değişiklikler belirtiliyor olabilir

Önleyici Tedbir

Gelecekte bu sorunun oluşmaması için:

  • Şablon düzenlerken yorum alanı elementi eklemeden önce mevcut olanı kontrol edin
  • Şablon kopyalama işlemi yaparken otomatik eklenen elementleri gözden geçirin
  • Her büyük değişiklik öncesi şablon içeriğini dışa aktarıp yedekleyin

Sonuç

“Cannot redeclare tdb_comment()” hatası, Cloud Template’deki duplicate [tdb_single_comments] shortcode’unun silinmesiyle tamamen çözülür. Admin paneline girebildiyseniz işlem 5 dakika sürer. Admin paneline giremiyorsanız FTP veya WP-CLI ile eklentiyi geçici devre dışı bırakıp düzeltmeyi yapın.

Daha Fazla Göster

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu