Kodun Çalışmamasının 24+ Nedeni ve Nasıl Düzeltilir
Yayınlanan: 2013-08-21Çalıştığından emin olmak için her zaman önce kodu test ederim, ancak bazen hem kendim hem de bozuk olmasa bile kullanan diğer insanlar için çalışmamasının birçok nedeni vardır.
Kodun çalışmamasının bazı nedenlerinin listesi:
- Tarayıcı önbelleğini temizlemeyi unuttum: CSS değişiklikleri yapabilir ve tarayıcı aslında eski kodu içeren sayfaların daha eski bir sürümünü görüntülediğinden, gerçekten yaptıklarında çalışmadıklarını düşünebilirsiniz. Emin olmak için tarayıcınızın önbelleğini temizleyin.
- Sunucu önbelleği temizlenmedi: Bazı Yönetilen Barındırma sağlayıcıları, sunucu tarafında çok agresif önbellekleme kullanır. WPEngine'in sitenizde CSS değişikliklerinin görünmesi günler alabileceği anlamına geldiğini biliyorum. Gerçekten işe yarayan ancak çalışmadığını düşündüğünüz bu değişiklikleri yapabilirsiniz çünkü değişiklikleri ön uçta göremiyorsunuz. Sunucu önbelleğinizi temizleyin ve sunucu tarafında önbelleğe alma veya bir önbelleğe alma eklentisi kullanarak kodu yerel olarak test edin.
- İşlevler dosyasına yapıştırılan CSS kodu: CSS kodu, sunucuda kurulu bir PHP işlemcisi tarafından okunduğu anlamına gelen bir açılış PHP etiketi içeren işlevler dosyasında düzgün çalışmıyor.
- PHP'yi stil sayfasına yapıştırın : PHP kodu, sunucuda kurulu bir PHP işlemcisi değil, bir tarayıcı tarafından okunan bir .css dosyasında çalışmaz.
- Üstbilgi ve altbilgi komut dosyalarına PHP veya CSS yapıştırıldı: Üstbilgi ve altbilgi komut dosyaları için bir kutu içeren temalar, PHP komut dosyaları yerine Google Analytics izleme ve canlı sohbet komut dosyaları için Javascript eklemeyi kolaylaştırmak için bunu yapar.
- Bir web sayfasından kopyaladı ve tema düzenleyicisine yapıştırdı: Kesme işaretlerinin tersine dönmesine neden olabilecek ve sitenizi bozan beyaz ölüm ekranına neden olabilecek çok yaygın bir hata. Her zaman ham kodu kopyalayın ve Notepad++ gibi bir metin düzenleyici kullanarak dosyanın sonuna yapıştırın.
- Kodun tamamını kopyalamadı: Sınıfı içermeyen veya bir kapanış parantezini kaçıran bir CSS kodu bloğunun kopyalanması, kodun çalışmamasına neden olur. Bu nedenle, tek sorun geride bir parantez veya noktalı virgül bıraktığınız zaman kodun geed olmadığını düşünebilirsiniz.
- Kodun tamamını yapıştırmadım : Yukarıdakiyle aynı ve bazen oluyor.
- Temanız eskilerini kullandığında yeni kancalar kullanıldı: Yeni sitelerde hala eski XHTML işaretlemesini çalıştıran siteler için Döngü kancaları içeren kodu kullanmak işe yaramıyor. Kod eski sitelerde çalışacak, bu yüzden bozuk değil, ancak HTML 5'te çalışmayacak alt temaları etkinleştirir.
- Temanız yenilerini kullandığında eski kancaları kullandı: Yukarıdakiyle aynı
- Koddaki sınıfları desteklemeyen eski bir tarayıcı kullanma: Bazı eski tarayıcılar belirli CSS sınıflarını desteklemez, yani kod yazıldığı şeyi yapmaz. Kodu test etmek için birkaç tarayıcı yükleyebilir veya tarayıcılar arası uyumluluk için ücretsiz çevrimiçi araçları kullanabilirsiniz.
- Henüz koddaki sınıfları desteklemeyen en son tarayıcı sürümünü kullanma: Bazı yeni tarayıcılar bazı CSS sınıflarını desteklemez, yani kod eski tarayıcılarda çalışır, ancak beta kullandığınız için çalışmadığını düşünebilirsiniz. sürüm veya daha yeni piyasaya sürülen en son sürüm.
- Açılış PHP etiketini kopyalayın ve işlevler dosyanıza yapıştırın: PHP parçacıkları genellikle bir açılış PHP etiketi içerir, ancak bu, zaten o etiketi içeren bir işlev dosyasına yapıştırılmamalıdır. Bu olursa, bir hata mesajı alırsınız ve sitenizi bozarsınız, bu sadece etiketi kaldırarak düzeltmesi kolaydır. Bu, kodu gerçek dosyaya yapıştırmak için WordPress onları düzenleyicisini kullanmak yerine bir metin düzenleyici kullanmanın her zaman en iyi uygulamasının nedenidir. Kodu asıl dosyaya eklerseniz, kolayca yeniden açabilir ve sorunu hızlı bir şekilde kaldırabilirsiniz; bu, tema düzenleyiciyi kullanıyorsanız, bir programlama hatası yaşadığınızda siteden kilitleneceğiniz için durum böyle değildir.
- Birini seçmek yerine her iki çözümü de kopyalayıp yapıştırın: Birçok gönderi ve forum, aynı sorunları çözen birden çok kod parçacığı içerir. Aynı şeyi yapan 2 kod parçacığını yapıştırırsanız, sitenizi bozabilir, bu nedenle kodun bozuk olduğunu düşünebilirsiniz, ki durum böyle değil. Bir seferde yalnızca bir snippet kullanın.
- Bir şablon dosyasına kopyalanan işlev kodu: Bazen, bir alt tema işlevleri dosyası yerine bir şablon dosyasında kullanılmak üzere yazılmış PHP kodunu bulacaksınız. Şablon kodu, genellikle PHP açılış ve kapanış etiketlerine sarıldığı için bir işlev dosyasında her zaman çalışmaz. Özel işlevler genellikle, temaya bağlı olarak genellikle bir plaka dosyasında çalışmayacakları anlamına gelmez. Kodu tam olarak hangi dosyaya yapıştıracağınızı bildiğinizden emin olun, aksi takdirde kodun çalışmadığını düşünerek bir hata alabilirsiniz.
- Kodu fazla süren bir eklenti yüklediniz: Bazı eklentiler PHP kodunun üzerine biniyor, yani filtreli ve kancalı kod çalışmayabilir. Bunun bir örneği Genesis Simple Edits eklentisidir. Gönderi bilgilerini özelleştirmenizi ve meta göndermenizi sağlayan bu eklentiyi yüklediyseniz, bir meta sonrası veya bilgi sonrası filtresi içeren aynı şeyi yapmak için PHP kodu eklemek işe yaramaz. Kodun gerçekten çalıştığı halde çalışmadığını düşünebilirsiniz ve sorunu çözmek ve kodun çalışmasını sağlamak için yapmanız gereken tek şey eklentiyi devre dışı bırakmaktır.
- Düzeni koşullu olarak değiştirmek için PHP kodunu kullanma Bu kod, Genesis bbPress bağlantı eklentisini de kullanan bbPress kullanan bazı temalarda çalışmayacaktır. Bu eklenti, PHP kodunun düzenleri koşullu olarak değiştirmek için yaptığı şeyle aynı olan Genesis filtrelerine takılır, böylece kodun üzerinden geçerken çalışmaz.
- HTML 5 alt temasında XHTML CSS sınıflarının kullanılması – Örnek: #content, .entry-content kullanan bir HTML 5 alt temasında çalışmayacaktır.
- Bir XHTML temasında HTML işaretlemesi kullanma – .site-header, XHTML işaretlemesi çalıştıran bir sitede çalışmayacaktır, bu nedenle #header kullanmanız gerekir.
- Ön Sayfa Şablon Kodu – Ön sayfa şablonunuzdaki herhangi bir kod, yalnızca varsayılan Okuma Ayarlarını kullandığınızda çalışır. Bu ayarları değiştirirseniz ve ön sayfanız olarak bir Statik Sayfa seçerseniz, ön sayfa şablonunuzdaki kod çalışmayacaktır.
- Medya Sorgularından Sonra CSS Eklendi - Medya Sorgularınızdan önce özel CSS eklemek en iyisidir, aksi takdirde çalışmayabilir.
- Halihazırda Stil Verilmiş Sınıfı Değiştirmek için CSS Eklendi – Varsayılan olarak zaten stil verilmiş mevcut bir öğenin stilini değiştirmek için stil sayfanızın sonuna CSS eklediniz. Bunun bir örneği, bir pencere öğesi alanını, varsayılan olarak öne çıkan sayfa pencere aracını kullanacak şekilde biçimlendirildiğinde Genesis öne çıkan gönderiler pencere aracını kullanacak şekilde değiştirdiğiniz zamandır. CSS'niz farklı olabilir, ancak farklı bir sınıf kullanıyorsunuz. Yapmanız gereken, varsayılan CSS'yi değiştirmek, böylece daha uzun süre öne çıkan sayfa widget'ını ve yalnızca öne çıkan yazı widget'ını stillendirsin.
- Ana Sayfa Şablon Kodu – home.php şablon dosyanızdaki herhangi bir kod, varsayılan Okuma Ayarlarını kullandığınızda yalnızca ön sayfada çalışır. Ön Sayfanız olarak statik bir sayfa kullanırsanız, açılır menüden blog sayfası şablonunu seçmediyseniz, kod yalnızca gönderiler sayfanızda (bir blog sayfası gibi) çalışır. (Yalnızca blog sayfası şablonu içeren temalar için geçerlidir).
- Yanlış değiştirilmiş CSS, Diğer CSS'yi Kesiyor – Bir üye özel bir düzen oluşturmak için bazı kodlar yükledi, ancak içerik genişliğini değiştiren CSS çalışmadığı için bu çalışmadı. Daha önce !important kullanarak ekledikleri diğer CSS'leri keşfettiler ve yeni CSS'nin çalışmasını engellediler.
Genesis Simple Edits eklentisini, yazı bilgisi filtresini sürdüğü için etkinleştirdiyseniz, yukarıdaki kod ÇALIŞMAYACAKTIR.
Şu anda düşünebildiğim tek şey bu, ancak kodun çalışmamasının (ama gerçekten çalışmasının) bu listeye eklenebilecek daha birçok nedeni olduğundan eminim.
İlgili Mesajlar
- Kodu Yeniden Yayınlamadan Önce Dikkate Alınması Gereken 5 Önemli Nokta