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

Bir WordPress güncellemesinden sonra bozulan gezinme menüsü

Bir tema veya eklenti güncellemesinden sonra menü boş görünüyor, biçimi bozuluyor veya mobil hamburger düğmesi tepki vermiyor: WordPress’teki bir menü, tema tarafından tanımlanan bir konuma ve HTML’ini oluşturan bir walker sınıfına bağlıdır; bir güncelleme haber vermeden bu ikisinden birini değiştirebilir.

Sorunumu anlatayım Mesaj gönderin

Nasıl ilerliyorum

  1. Önbelleğin devre dışı bırakılması

    Herhangi bir başka kontrolden önce sayfa önbelleğini, önbellek eklentisini ve sunucu önbelleğini temizliyorum: yakın zamanda değiştirilmiş ama hâlâ önbellekten sunulan bir menü, en basit ve en sık görülen nedendir.

  2. Menü konumunun kontrolü

    Görünüm > Menüler bölümünde temanın beklediği konumun hâlâ mevcut olduğunu ve doğru menünün bu konuma atandığını kontrol ediyorum; bir tema güncellemesi bir konumun adını değiştirebilir veya onu tamamen kaldırabilir.

  3. Oluşturulan HTML’in incelenmesi

    Menünün ürettiği HTML’i, tema veya onun özel mega-menüsünün beklediğiyle karşılaştırıyorum: güncelleme tarafından değiştirilmiş bir walker sınıfı, CSS veya JavaScript’in beklediği yapıyı bazen değiştirir.

  4. Mobil menünün ayrı test edilmesi

    Hamburger düğmesinin davranışını masaüstü menüsünden bağımsız olarak kontrol ediyorum: bir jQuery sürüm çakışması veya aynı tıklamayı yönetmeye çalışan iki betik genellikle yalnızca mobil menüyü bozar.

  5. Sayfa oluşturucunun kontrolü

    Üst bilgide bir Elementor menü widget’ı kullanılıyorsa, temanın yerel menü konumundan ayrı bir görüntüleme yolu izlediği için aynı menüye işaret edip etmediğini kontrol ediyorum.

Düzenli olarak ele aldığım durumlar

  • Bir tema güncellemesinden sonra site menüsü hiçbir şey göstermiyor
  • Menü görünüyor ama tüm biçimini kaybediyor, düzen bozuluyor
  • Masaüstü menüsü çalışırken mobil hamburger düğmesi tıklamaya tepki vermiyor
  • Görünüm > Menüler bölümünde değiştirilen bir menü ziyaretçi tarafında görünmüyor
  • Görüntülenen menü ana sayfa ile diğer sayfalar arasında farklılık gösteriyor

Bir menüyü ne bozar

Bir WordPress menüsü, temanın register_nav_menu() aracılığıyla tanımladığı bir konuma ve menü yapısını HTML’e dönüştüren bir walker sınıfına — genellikle Walker_Nav_Menu veya bir mega-menü ya da off-canvas mobil menü için özel bir sınıfa — dayanır. Bir tema güncellemesi mevcut bir konumu yeniden adlandırabilir veya kaldırabilir, ya da walker’ın beklediği HTML yapısını değiştirebilir: eski sürümde atanmış menü bu durumda sessizce görüntülenmeyi bırakır veya davranışını kaybeder.

Daha derine inmeden önce, bir menü değişikliğinden sonra hâlâ eski sayfa sürümünü sunan bir sayfa önbelleği eklentisi, gerçek bir hatadan çok daha sık görülen bir nedendir: her zaman önce bunu ekarte etmeye değer.

Mobil hamburger menüleri özellikle JavaScript’e, genellikle jQuery’ye bağlıdır. Bir tema veya eklenti güncellemesinin getirdiği bir jQuery sürüm yükseltmesi, ya da aynı tıklama olayını yönetmeye çalışan iki betik, masaüstü menüsüne dokunmadan düğmeyi bozar. Üst bilgi şablonuna yerleştirilmiş bir Elementor menü widget’ı, temanın yerel menü konumundan ayrı bir görüntüleme yolu izler: bir güncellemeden sonra ikisi birbirinden ayrışabilir.

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

besoin
etat
constructeur (facultatif)
extensions (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

Menü tam bir otomatik güncellemeden sonra kayboldu, bununla mı ilgili?
Büyük olasılıkla evet. Önce temanın tanımladığı menü konumunun yeni sürümde adının değişip değişmediğini veya kaldırılıp kaldırılmadığını kontrol ediyorum.
Önbelleği temizledim ama hiçbir şey değişmedi, sonra ne yapmalı?
Bu, sorunun basit bir önbellek meselesi olmadığının işaretidir: bu durumda menü konumunu ve walker tarafından üretilen HTML yapısını kontrol etmeye geçiyorum.
Masaüstü menüsü çalışıyor ama mobil menü neden çalışmıyor?
Mobil menü ayrı bir JavaScript betiğine, genellikle jQuery’ye bağlıdır: bir sürüm çakışması veya aynı düğmeyi yöneten iki betik, masaüstü menüsünün HTML’ine dokunmadan yalnızca bu davranışı bozar.
Üst bilgi için Elementor kullanıyorum, bu bir şeyi değiştirir mi?
Evet: bir Elementor menü widget’ı temanın yerel konumundan geçmez, kendi görüntüleme yolunu izler. Yalnızca biri güncellenmişse, bir güncellemeden sonra ikisi farklı menüler gösterebilir.
Menüyü düzeltmek ne kadar sürer?
Sorun bir önbellek veya yanlış atanmış bir konumsa, birkaç dakika yeterlidir. Walker veya mobil betiğin temanın güncel sürümü için yeniden inşa edilmesi gerekiyorsa, bu orijinal menünün karmaşıklığına bağlıdır.