Yaygın WordPress Tema Geliştirme Hatalarından Nasıl Kaçınılır?
Yayınlanan: 2021-02-16WordPress, özellikle tema ve eklenti geliştirme söz konusu olduğunda inanılmaz derecede esnek olmasıyla bilinir. Kanıt görmek isterseniz, bir grup geliştiriciye belirli bir özelliği nasıl uygulayacaklarını sorun. Şansınız, aynı sonucu elde etmek için birkaç farklı yöntem alacaksınız. Destek forumları bu tür örneklerle dolu.
Ancak bu esneklikle, işleri “yanlış” yoldan yapmanın kolay olduğu da bir gerçektir. Şimdi, bu durumda, "yanlış", bir şeyin ya verimsiz olduğu ya da yolun devam etmesi için biraz zahmetli olduğu anlamına gelir. İşlevsel olma anlamında işe yarasa da, genellikle işleri halletmenin daha iyi yolları vardır.
Gelecekteki baş ağrılarından kurtaracak alternatiflerle birlikte, tema geliştirmede bulunan en yaygın beş hataya bir göz atalım.
1. Şablonlarda Mutlak URL'leri Kullanma
Bir WordPress sayfasının veya gönderisinin ürettiği HTML koduna baktıysanız, hem resimlerin hem de dahili bağlantıların mutlak (tam) URL'ler kullandığını fark edeceksiniz. Ancak tema şablonlarınıza kod eklerken işleri halletmenin en iyi yolu bu değildir.
Örnek olarak, geçici bir URL kullanan bir web sitesi geliştirdiğinizi varsayalım. Bir şablondaki sabit kodlanmış mutlak URL, siteyi kalıcı etki alanında başlatmaya hazır olduğunuzda kod değişikliklerini manuel olarak yapmanız gerekeceği anlamına gelir. Bu yapılabilirken, bu tür bir kodun gizlenebileceği tüm noktaları unutmak çok kolaydır.
WordPress, doğru URL'yi belirlemenin yerleşik yollarına sahiptir - doğrudan Gösterge Tablosunun Settings > General
alanından alınır.
Bir bağlantı için, esc_url( home_url() )
yankılanması, ana sayfanın tam yolunu sağlayacaktır. Bu nedenle, URL'yi kodunuza açıkça yerleştirmek yerine, ana sayfanıza aşağıdaki gibi basit bir bağlantı ekleyebilirsiniz:
<a href="<?php echo esc_url( home_url() ); ?>" />Home</a>
Dahası, bunu ikincil sayfaları işaret etmek için de kullanabilirsiniz. Örneğin, sitemizin Hakkımızda sayfasına bağlantı vermek istersek aşağıdaki kodu kullanabiliriz:
<a href="<?php echo esc_url( home_url() ); ?>/about-us/" />About Us</a>
Benzer bir snippet, görüntüler için de çalışır. Bu örnek, aktif temamızın /images/
alt klasöründen bir resim çeker:
<img src="<?php echo esc_url( get_stylesheet_directory_uri() ) ; ?>/images/hello.png" />
2. Bir Şablona Doğrudan Komut Dosyaları ve Stiller Ekleme
WordPress ile üçüncü taraf komut dosyalarını ve stillerini kullanmak başlı başına bir dünyadır. Tema oluşturmaya ilk başladığınızda, basitçe <script>
veya <style>
etiketlerini, hatta bir Google Font yerleştirme kodunu doğrudan temanızın başlığına yerleştirmek isteyebilirsiniz. Statik HTML sitelerinde işler genelde böyle yapılır, dolayısıyla burada da aynısını yapmak mantıklıdır.
Ancak, WordPress'teki diğer her şey gibi, bunun için de daha iyi bir yol var. Bunun yerine, sizin için doğru noktalara komut dosyaları ve stil sayfaları ekleyen wp_enqueue_script()
ve wp_enqueue_style()
'dan yararlanın. Ayrıca, her şey temanızın functions.php
dosyasından çağrıldığı için varlıkları yönetmeyi çok daha kolay hale getirir.
Tekerleği burada yeniden icat etmek yerine, WordPress Tema El Kitabı, temanıza komut dosyalarını ve stilleri ne kadar doğru bir şekilde ekleyeceğiniz konusunda harika bir kılavuza sahiptir.
3. jQuery'nin Dış Örneklerini Çağırma
İlgili bir notta, WordPress'in gizli sırlarından biri, birkaç popüler UI özelliğiyle birlikte jQuery'nin bir kopyasını zaten içermesidir. Bu nedenle, jQuery'yi yüklemeniz veya uzaktan aramanız gerekmez. Bu, popüler JavaScript kitaplığından yararlanmayı ve sekmeler, veri seçiciler, diyaloglar ve çok daha fazlası gibi öğeleri uygulamayı kolaylaştırır.
Tek sorun, kullanmak istediğiniz öğeleri temanızın functions.php
dosyası aracılığıyla özel olarak etkinleştirmeniz gerektiğidir. Bu biraz öğrenme eğrisi yaratırken, aynı zamanda şişkinliği de azaltır.
Ve gerçeği söylemek gerekirse, istenen bir jQuery UI öğesini uygulamak çok da zor değil. Örneğin, jQuery UI Sekmelerinin kullanımını etkinleştirmek için, functions.php
dosyanıza aşağıdaki parçacığı eklemeniz yeterlidir:
function my_jquery_elements() { wp_enqueue_script( 'jquery-ui-tabs', array('jquery')); add_action( 'template_redirect', my_jquery_elements ', 10 );
Bu, WordPress'e öğeyi zaten var olan kitaplığından yüklemesini söyler. Buradan sekmelerinizi tasarlayın ve jQuery UI belgelerinde belirtildiği gibi tanımlayın.
4. Özelleştirmeyi Çok Uzatmak
Özel alanlar ve özel gönderi türleri ekleyebilme özelliği, hem geliştiriciler hem de site içeriği düzenleyicileri için hayatı çok daha kolay hale getirebilir. Kolaylık, daha iyi içerik organizasyonu ve daha sezgisel bir UX sunarlar. Ama bazen çok ileri gidiyoruz.
Örneğin, özel alanların büyük bir hayranıyım. Ama ben bile, bir temayı esnek olmama noktasına kadar özelleştirdiğim zamanlar olduğunu kabul ediyorum. Alanlar, bir personel profilinin alanları gibi, tam olarak hangi içeriğin girilmesi gerektiğini bildiğimiz kurulumlar için mükemmeldir.
Ancak, birinin eklemek istediği içerik türlerinde tutarsızlıklar olduğunda ortalık karışabilir. Müşteriler, içerikte özelleştirmeleri kullanmayı daha zor hale getirebilecek "küçük" istisnalara sahip olmakla ünlüdür. Koşullu mantık bunun bir kısmını açıklayabilir, ancak bunu yalnızca kullanıcı arayüzü kontrolden çıkmadan önce yapabilirsiniz.
Bu tür özelleştirme için katı ve hızlı kurallar yoktur. Gerçekten yapabileceğimiz tek şey, neyin özelleştirilmesi gerektiği ve neyin WordPress içerik düzenleyicisine veya hatta bir niş eklentisine daha iyi bırakılabileceği konusunda en iyi kararımızı kullanmaktır. Alanlar veya gönderi türleri eklediğimizde, işlerin yolda değişebileceğini bilin ve bunu akılda tutarak oluşturmaya çalışın.
5. Kodu Yorumlamamak
Burada başka bir itirafta bulunacağım: Yorum kodu benim güçlü yönlerimden biri değil. Yorumları hiç kullanmadığımdan değil, ama daha çok, çok açık sözlü olmadıklarından. Genellikle, aralarında bir ton bilgi olmadan belirli öğelerin başlangıcını ve sonunu işaret edeceğim. Daha fazlasını yapmalı mıyım? Muhtemelen.
Yorumlama önemlidir çünkü en azından kod içinde bazı referans noktaları sağlar. Birden fazla şey içeren PHP veya JS dosyalarını araştırırken, belirli bir öğeyi nerede bulacağınızı bilmek isteyeceksiniz.
Bu kodu düzenleyecek tek kişi siz olsanız bile, yorum yapmanız şiddetle tavsiye edilir. Örneğin, altı ay sonra bir şeyi değiştirmeniz gerekiyorsa, bir kod parçası yerleştirdiğiniz yeri tam olarak hatırlamanız pek olası değildir.
Bu yüzden, büyük bir ikiyüzlü olmayacağım ve her şeyi derinlemesine yorumlamanızı rica etmeyeceğim. Ancak, buradaki minimum çabanın bile, sizin veya çalışmanızı gözden geçirmesi gereken başka bir geliştirici için gelecekteki bakımı kolaylaştıracağını söyleyeceğim.
Zamanla Daha İyi Teknikler
Kendi WordPress temanızı oluşturmak harika bir deneyim olabilir. Ancak, iyi kodlanmış ve bakımı kolay bir tema oluşturmanın ince ayrıntılarını kavramak için biraz pratik yapmak gerekir. Ne kadar çok deneyim kazanırsanız, teknikleriniz o kadar gelişecektir.
Dürüstçe söyleyebilirim ki, bir araya getirdiğim ilk birkaç tema şimdiki kadar verimli değildi. Ayrıca, gerçekten uzman bir geliştirici tarafından görüntülendiklerinde hala güncel olmayabileceklerinden de eminim. Bu anlamda, evrimimiz süreklidir.
Son olarak, yukarıda belirtilen hataların her birini şahsen yaptığımı belirtmek isterim. Codex'e yaptığım birkaç ziyaretin yanı sıra yalnızca deneme yanılma yoluyla bir şeyleri “WordPress Yolu” ile yapmaya nasıl başlayacağımı öğrendim.
Ders şu ki, hepimiz hata yapacağız. Ama her biri bize öğrenme ve gelişme şansı veriyor.