Bir eklenti güncellemesinden hemen sonra bir özellik bozuldu
Site erişilebilir kalır, ama bir eklenti veya tema güncellemesinden hemen sonra belirli bir özellik çalışmayı durdurur: artık yanıt vermeyen bir buton, kaybolan bir blok, takılıp kalan bir ödeme adımı. Bu, tüm siteyi devre dışı bırakan kritik bir hatadan farklı bir durumdur: burada, iyi geçinen iki eklenti birdenbire birbirinin ayağına basar.
Nasıl ilerliyorum
-
Hata günlüğünün etkinleştirilmesi
Bozulan eylemle ilgili her PHP hatasının wp-content/debug.log dosyasına yazılması için wp-config.php içinde WP_DEBUG_LOG değerini true olarak ayarlıyorum.
-
Eylemin birebir yeniden üretilmesi
Bildirilen tıklamayı, görünümü veya adımı birebir yeniden üretiyorum; hatanın sabit mi yoksa belirli bir bağlama (kullanıcı rolü, cihaz, sepet içeriği) mi bağlı olduğunu gözlemliyorum.
-
Doğru hata türünün okunması
Tarayıcı konsolundaki bir hata bir JavaScript çakışmasına işaret eder ve debug.log içindeki ölümcül bir PHP hatasından farklı ele alınmalıdır: ikisi farklı bir okuma gerektirir.
-
Hedefli devre dışı bırakma ile izolasyon
Şüpheli eklentileri tek tek devre dışı bırakıyorum, ya da canlı sitedeki ziyaretçileri etkilemeden temiz koşullarda test etmek için Health Check & Troubleshooting gibi bir eklenti kullanıyorum.
-
Uygulanacak düzeltmeye karar verilmesi
Sorumlu ikili tespit edildiğinde, çakışan kanca önceliğini düzeltiyorum ya da iki eklentiden birinin değiştirilmesi gerekip gerekmediğini değerlendiriyorum.
Düzenli olarak ele aldığım durumlar
- İyi çalışan bir buton, bir eklenti güncellemesinden sonra artık yanıt vermiyor
- Bir Gutenberg bloğu veya bir shortcode aniden görünümden kayboluyor
- Sitenin geri kalanı normal çalışırken, ödeme sürecinde belirli bir adım takılıp kalıyor
- Site diğer her yerde tamamen erişilebilir kalıyor, hiçbir kritik hata mesajı yok
- Tarayıcı konsolu, sunucu günlüklerinde hiçbir şey yokken tanımadık bir JavaScript hatası gösteriyor
Bir eklenti çakışmasının gerçek nedenleri
En sık görülen üç mekanizma vardır. İki eklenti aynı action veya filter’a çakışan önceliklerle bağlanır ve bir güncelleme sonrasında çalışma sırası değişir. Bir JavaScript çakışması, iki eklenti farklı bir jQuery sürümünü, ya da aynı betiği iki kez yüklediğinde ortaya çıkar ve bir tıklama davranışını sessizce bozar. Son olarak, tek bir belirli kod yoluyla sınırlı, sitenin geri kalanına hiç dokunmayan bir “cannot redeclare function” PHP hatası görülebilir.
JavaScript hatası ile ölümcül PHP hatası arasındaki ayrım bir ayrıntı değildir: tarayıcı konsolundaki bir hata debug.log içinde hiçbir iz bırakmaz, tersi de geçerlidir. Birçok mağaza sahibi teşhis başlamadan önce yanlış yere bakar.
İlgili sayfalar
-
WordPress kritik hatası
İzole bir özellik değil tüm site devre dışı olduğunda: farklı bir teşhis, farklı bir aciliyet.
-
Acil müdahale
Ödeme sürecindeki engelleyici bir sorun genellikle hızlı bir müdahaleyi haklı çıkarır.
-
Özel WooCommerce eklentisi geliştirme
Piyasadaki bir eklentiyi değiştirmenin en iyi seçenek olduğu durumlarda.
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.