Projeler ve ajans desteği için müsait · Hızlı yanıt, işi yapan kişiden

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.

Sorunumu anlatayım Mesaj gönderin

Nasıl ilerliyorum

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

İhtiyacınızı bir dakikada anlatın

Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.

impact
message
declencheur
debug (facultatif)
acces (facultatif)
Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Sıkça sorulan sorular

Site yayında kalıyor, gerçekten ciddi mi?
Etkilenen özelliğe bağlıdır. Bozuk bir görüntü bloğu bekleyebilir; sitenin geri kalanı normal çalışsa bile takılıp kalan bir ödeme adımı her dakika satış kaybettirir.
Hangi eklentinin sorumlu olduğunu nasıl anlarım?
Belirti kaybolana kadar eklentileri tek tek devre dışı bırakarak, ya da genellikle doğrudan sorumlu dosyayı işaret eden debug.log veya tarayıcı konsolundaki tam hatayı izole ederek.
Health Check & Troubleshooting eklentisi nedir?
Oturum açmış yöneticiye özel temiz bir sorun giderme modu etkinleştiren resmî bir WordPress eklentisidir: ziyaretçiler hiçbir fark görmeden eklentileri devre dışı bırakarak test yapabilirim.
Çakışma her güncellemede tekrarlıyorsa eklenti değiştirmeli miyim?
Aynı çakışma her güncellemede tekrar ortaya çıkıyorsa, sürekli yama yapmak, daha az kritik eklentiyi uyumlu bir alternatifle değiştirmekten uzun vadede daha maliyetli olur.
Bu tür bir çakışmayı izole etmek ne kadar sürer?
Günlüklere ve yönetim paneline erişim sağlandıktan sonra, sorumlu eklenti ikilisini izole etmek genellikle birkaç saat sürer. Düzeltmenin kendisi neyin gerçekten çakıştığına bağlıdır.