Site icon Cem Kongur

Deprecated: Unparenthesized a ? b : c ? d hatası nedir?

WPBakery Page Builder (eski adı Visual Composer)

WPBakery Page Builder (eski adı Visual Composer)

Bu hata mesajı aslında PHP 7.4 ve sonrası sürümlerde gelen bir uyarı (deprecated notice). Yani çalışmayı durdurmaz ama gelecekte sorun çıkarabileceğini haber veriyor.

Kodda geçen kısım:

a ? b : c ? d : e

Sorunun Sebebi

Bu yazım şekli belirsizdir çünkü PHP önce hangi koşulu değerlendireceğini net belirleyemez.

Çözüm

PHP artık bu tür ifadelerde parantez konulmasını zorunlu kılıyor. Yani şu şekilde düzenlenmesi gerekiyor:

✅ Doğru kullanım örnekleri:

// 1. Eğer a doğruysa b, değilse (c doğruysa d, değilse e)
a ? b : (c ? d : e);

// 2. Eğer (a ? b : c) doğruysa d, değilse e
(a ? b : c) ? d : e;

Senin Durumunda

/wp-content/plugins/js_composer/include/classes/editors/class-vc-frontend-editor.php dosyasında, 646. satırda böyle bir ifade var. Bu, WPBakery Page Builder (eski adı Visual Composer) eklentisinden geliyor.

Exit mobile version