Syntax error, Türkçe karşılığıyla sözdizimi hatası, WordPress’in kullandığı PHP programlama dilindeki küçük yazım hatalarından kaynaklanır. Çoğu zaman bir noktalı virgül eksikliği, bir parantezin kapanmamış olması ya da bir tırnak işaretinin unutulması gibi basit nedenlerle ortaya çıkar. Doğru araçlar ve bilgiyle sorunu tespit edebilir ve rahatlıkla çözebilirsiniz.
Sözdizimi hataları genellikle şu şekilde karşınıza çıkar:
⚠️ parse error: syntax error, unexpected t_string wordpress.
⚠️ parse error syntax error unexpected end of file in wordpress.
⚠️ parse error: syntax error, unexpected t_function wordpress.
⚠️ parse error syntax error unexpected text t_string wordpress.
⚠️ parse error syntax error unexpected if t_if wordpress.
WordPress Syntax Error Nedenleri
- Yanlış Kod Yazımı– PHP dosyalarında parantez (), süslü parantez {}, noktalı virgül (;) veya tırnak işaretlerinin (” veya ‘) eksik ya da hatalı kullanılması. Örnek: Bir fonksiyon bloğunun kapatılmaması.
- Kod Eklerken Yapılan Hatalar– functions.php dosyasına ya da bir eklentiye kod eklerken satır yapısının bozulması. Özellikle çevrimiçi kaynaklardan alınan kodların doğrudan yapıştırılması hatalara neden olabilir.
- Uyumlu Olmayan PHP Sürümü– Temanızın veya eklentinizin, kullandığınız PHP sürümüyle uyumsuz olması durumunda sözdizimi hataları oluşabilir.
- UTF-8 BOM Sorunu– Dosya kodlaması yanlışsa (özellikle UTF-8 BOM ile kaydedilmişse), gizli karakterler PHP yorumlayıcısında hata oluşturabilir.
- Eklenti veya Tema Çakışması– Bir tema veya eklenti, başka bir eklentiyle uyumsuz çalışıyorsa syntax hatasına sebep olabilir.
Çoğu sözdizimi hatası, tema dosyalarını düzenlerken (özellikle functions.php), eklenti yüklerken veya kod parçacıkları eklerken oluşur. Bazen bir rehberi takip ederken kopyala-yapıştır yaparız ve farkında olmadan kodun bir kısmı eksik kalır. Bazen de WordPress panelinden tema düzenleyiciyi kullanırken dikkatsiz bir tuşa basmak bile hataya yol açabilir.
Bu hataları teknik bilginiz olmasa bile kolaylıkla çözebilirsiniz. Hatanın nerede olduğunu bulmak için genellikle ekranda size bir ipucu verilir. İşin sırrı ekranınızda görünen hata mesajını doğru okumak. Örneğin, ekranınızda şöyle bir mesaj gördünüz: Parse error: syntax error, unexpected '}' in /wp-content/themes/ mytheme/functions.php on line 245 Peki bu mesaj bize ne söylüyor?
- Parse error: PHP’nin kodu okuyamadığını gösterir.
- unexpected ‘}’: Beklenmeyen bir kapamalı parantez bulundu.
- Dosya yolu: Hatanın olduğu dosyayı gösterir.
- on line 245: Sorunun 245. satırda veya yakınında olduğunu belirtir.
Hata mesajındaki satır numarası her zaman tam doğru olmayabilir. Bazen sorun belirtilen satırda değil, birkaç satır yukarıda olabilir. Örneğin, 240. satırda bir noktalı virgül unuttuysanız, PHP bunu 245. satıra kadar fark etmeyebilir. Bu yüzden belirtilen satırın birkaç satır öncesini ve sonrasını da kontrol etmek gerekebilir.
Bazı durumlarda hata mesajı “unexpected end of file” şeklinde olabilir. Bu genellikle bir fonksiyonun veya koşulun kapamalı parantezinin unutulduğu anlamına gelir. Dosyanın sonuna doğru bir yerde bir parantez eksiktir ve PHP tüm dosyayı okuduktan sonra hala bir kapanış beklemektedir.
📌 Yukarıda da belirttiğimiz gibi, WordPress hata ekranında dosyanın adı ve hatanın satır numarası genellikle belirtilir. Bu bilgiye göre ilgili dosyada düzeltme yapabilirsiniz. Eğer hata mesajı yerine boş bir sayfa varsa, hatayı bulmak için hata ayıklama modunu aktifleştirebilirsiniz.. Bunun için wp-config.php dosyanıza şu kod satırını ekleyin: define( 'WP_DEBUG', true ); Bu kod dosyanızda varsa false kısmını true olarak değiştirip sayfayı kaydedin. Dosyayı kaydettikten ve web sitenizi tarayıcınızda yeniledikten sonra dosya, isim ve satır numarası dahil olmak üzere hatanın yerini belirten bir metin dizesi göreceksiniz. Burada göremezseniz kök dizinde debug.log dosyanızda hata kayıtlarını bulabilirsiniz.
Siteye Erişim Sağlamak: FTP ve Dosya Yöneticisi
Syntax error oluştuğunda WordPress paneline giriş yapamayabilirsiniz. Peki o zaman sorunu nasıl çözeceksiniz? Elbette FTP (File Transfer Protocol) veya hosting kontrol panelinizin dosya yöneticisi ile. Bu araçlar, WordPress dosyalarınıza doğrudan sunucu üzerinden erişmenizi sağlar.
- FTP Programı Seçin ve Kurun– FileZilla, Cyberduck veya WinSCP gibi ücretsiz FTP programlarından birini bilgisayarınıza indirin. FileZilla en popüler ve kullanımı kolay olanıdır.
- Hosting Bilgilerinizi Bulun– Hosting sağlayıcınızın kontrol paneline girin. FTP bilgilerinizi bulun: FTP sunucu adresi, kullanıcı adı ve şifre. Bunlar genellikle hoşgeldin e-postanızda veya cPanel’de bulunur.
- FTP’ye Bağlanın– FTP programınızı açın ve hosting bilgilerinizi girin. “
Hızlı Bağlan” veya “Connect” butonuna tıklayın. Başarılı olduğunuzda sağ tarafta sitenizin dosyaları görünecektir. - WordPress Klasörüne Gidin–
public_htmlveyawwwklasörünü bulun. İçinde wp-content, wp-admin gibi klasörler görüyorsanız doğru yerdesiniz.
FTP kullanmak istemiyorsanız veya bilgisayarınıza program yükleyemiyorsanız, hosting kontrol panelinizin (cPanel, Plesk vb.) dosya yöneticisi özelliğini kullanabilirsiniz. Çoğu hosting sağlayıcısı tarayıcı üzerinden dosyalarınızı düzenlemenize izin veren bir araç sunar. cPanel’de “File Manager” bölümüne giderek WordPress dosyalarınıza erişebilirsiniz.
En Yaygın Syntax Error Örnekleri ve Çözümleri
Şimdi pratiğe geçelim. İşte WordPress kullanıcılarının en sık karşılaştığı syntax error türleri ve nasıl düzelteceğiniz:
| Eksik Noktalı Virgül | Hatalı:$site_name = 'Benim Sitem' echo $site_name;Doğru: $site_name = 'Benim Sitem'; echo $site_name; | İlk satırın sonunda noktalı virgül eksik. PHP her komutun sonunda noktalı virgül bekler. |
| Parantez Eşleşmemesi | Hatalı:function my_function() { echo 'Merhaba';Doğru: function my_function() { echo 'Merhaba'; } | Fonksiyon açılışında kullanılan her süslü parantez mutlaka kapatılmalıdır. |
| Tırnak İşareti Karışıklığı | Hatalı:echo 'Bu bir 'test' cümlesidir';Doğru: echo 'Bu bir "test" cümlesidir'; | İç içe tırnak kullanırken tek ve çift tırnakları doğru kombinleyin veya kaçış karakteri (\) kullanın. |
| Beklenmeyen PHP Etiketi | Bazen <?php açılış etiketinden sonra ?> kapanış etiketi kullanılır ve ardından yanlışlıkla tekrar <?php yazılır. Functions.php gibi salt PHP dosyalarında kapanış etiketi (?>) kullanmamak en iyi pratiktir. | |
| Dizi (Array) Hataları | PHP dizilerinde virgül kullanımına dikkat edin. Son elemandan sonra virgül olmaması gerekir veya elemanlar arasında virgül unutulmamalıdır: array(‘bir’, ‘iki’, ‘üç’) |
Adım Adım Syntax Error’ı Düzeltme Süreci
Şimdi syntax error ile karşılaştığınızda yapmanız gereken tüm adımları baştan sona uygulamalı olarak görelim. Bu rehberi takip ederek çoğu hatayı dakikalar içinde çözebilirsiniz.
- Hata Mesajını Kaydedin– Ekranda görünen tam hata mesajını not edin veya ekran görüntüsü alın. Hangi dosya ve hangi satır belirtiliyor? “unexpected” kelimesinden sonra gelen sembol nedir?
- FTP ile Bağlanın– FTP programınızı açın ve sitenize bağlanın. Hata mesajında belirtilen dosyaya gidin. Örneğin wp-content/themes/your-theme/functions.php
- Dosyayı İndirin (Yedek)– Problemi düzeltmeye başlamadan önce dosyayı bilgisayarınıza indirin. Bu sizin güvenlik ağınızdır.
- Kod Editöründe Açın– İndirdiğiniz dosyayı Notepad++ veya benzer bir editörde açın. Hata mesajındaki satır numarasına gidin (Ctrl+G tuşları ile).
- Hatayı Tespit Edin– Belirtilen satıra ve önceki 5-10 satıra bakın. Eksik noktalı virgül, kapanmamış parantez veya tırnak hatası var mı? Editörün renklendirmesi size ipucu verecektir.
- Düzeltmeyi Yapın– Hatayı düzeltin. Sadece küçük, gerekli değişikliği yapın. Dosyayı kaydedin.
- FTP ile Yükleyin– Düzeltilmiş dosyayı FTP üzerinden sunucuya geri yükleyin. Eski dosyanın üzerine yazılmasına izin verin.
- Siteyi Test Edin– Tarayıcınızı açın ve sitenizi ziyaret edin. Hata kayboldu mu? Eğer hala varsa, yedek dosyanızı yükleyin ve süreci tekrarlayın.
Functions.php dosyasını düzenlerken WordPress tema düzenleyicisini (Appearance > Theme Editor) kullanmaktan kaçının. Bir hata yaptığınızda panele erişemez duruma gelirsiniz. FTP üzerinden düzenleme yaparsanız, bir sorun olduğunda hemen dosyayı yedeğiyle değiştirebilirsiniz.
- Functions.php’ye Yeni Kod Eklerken:
- Kodu dosyanın en sonuna, en son ?> etiketinden önce ekleyin
- Her fonksiyondan sonra en az bir boş satır bırakın
- Yorum satırları ekleyerek ne yaptığınızı belirtin
- Kopyala-yapıştır sonrası tüm kodu kontrol edin.
- Eğer child tema kullanıyorsanız (ki kullanmalısınız), tüm özelleştirmelerinizi child temanın functions.php dosyasına ekleyin. Ana temada güncelleme geldiğinde değişiklikleriniz kaybolmaz ve syntax error riski azalır.
Eklenti Kaynaklı Syntax Error Çözümü
- Plugins Klasörünü Yeniden Adlandırın– FTP ile wp-content/plugins klasörüne gidin. Klasörü sağ tıklayın ve “Rename” seçin. İsmini “plugins-disabled” yapın. Bu tüm eklentileri devre dışı bırakır.
- Siteyi Kontrol Edin– Tarayıcınızı yenileyin. Site açıldı mı? Açıldıysa sorun bir eklentiden kaynaklanıyordu. Şimdi hangi eklenti olduğunu bulma zamanı.
- Plugins Klasörünü Geri Adlandırın– Klasör ismini tekrar “plugins” yapın. WordPress paneline giriş yapabilirsiniz artık, çünkü tüm eklentiler devre dışı.
- Eklentileri Tek Tek Aktifleştirin– Plugins sayfasında her eklentiyi birer birer aktifleştirin ve site açık mı diye kontrol edin. Hata veren eklentiyi bulduğunuzda silerek sorunu çözersiniz.
- Hatalı eklentiyi bulduktan sonra birkaç seçeneğiniz var: Eklentinin daha güncel bir versiyonunu yüklemek, alternatif bir eklenti aramak veya eklenti geliştiricisine sorunu bildirmek. Eğer bu eklenti siteniz için kritik değilse, en güvenli yol onu silmek ve başka bir çözüm aramaktır.
Eğer aldığınız hatanın nedeni tema veya eklenti kodlarındaki hatalardan kaynaklıysa ve düzenleme konusunda kendinize güvenmiyorsanız tema/eklenti geliştiricisine durumu bildirip destek talep edebilirsiniz.
