WordPress Tema Yapanlara 9 Öneri

WordPress temaları genelde çoğu bir birine benzer, çünkü yapısal olarak neredeyse birbirlerinin kopyasıdır, sadece CSS kullanılarak yapılan biçimlendirmeler farklıdır. Buna rağmen bazı temalar diğerlerine göre daha çok tutulur, bunun da en büyük nedeni, kullanıcıya farklı özellikler, yeni deneyimler kazandırmasıdır. Bir tema yazarının amacı da bu olmalıdır diye düşünüyorum. Tema tasarlarken, en azından tablosuz tasarım yapabilecek kadar XHTML ve CSS bilmeniz lazım. Bundan sonraki adım zaten PHP ve WordPress fonksiyonlarına kalıyor. İşte sizlere önerilerim;

 Tema Etiketleri (Fonksiyonları)

WordPress tema tasarımcılarına birbirinden güzel onlarca fonksiyon sunuyor. Bu fonksiyonları kullanarak temanızda siteyle ilgili neredeyse bütün bilgileri kolayca sunabiliyorsunuz. Ne kadar çok fonksiyon öğrenirseniz, temanız için o kadar geniş fikirleriniz olur ve temanıza yeni özellikler katabilirsiniz. Örneğin; bir çok temada tekil yazı gösterilirken, yazının altında yazarla ilgili bilgi genelde bulunmaz, siz eğer temanızda bunu gösterecek düzenlemeyi yapmışsanız, bu temanıza değer kazandıracaktır.
Tema etiketlerine WordPress Codex’teki Tema Etiketleri sayfasından ulaşabilirsiniz. Ne yazık ki sayfa İngilizce ancak sayfalarda verilmiş örnekleri incelemeniz bile öğrenmenize yetecektir.

WordPress Seçenekleri

Birçok tema yazarı WordPress’e ait seçenekleri temasında kullanmayı unutur. Özellikle yurtdışında da temanızı yayımlayacaksanız, temanızı farklı dildeki WordPress kurulumlarına uyum sağlayabilmesi için temanızda WordPress ayarlarını kullanmanız yerinde olacaktır.
Örneğin; yazıların tarihlerini gösterirken çoğu tema yazarı (genellikle yabancılar) aşağıdaki gibi formattadır.

<div class="tarih"><?php the_time('F j, Y G:i'); ?></div>

Bunun sonucunda yazının tarih ve zamanı şöyle gösterir: Ağustos 15, 2009 12:53
Böyle bir kod kullanımı yerel ayarları hiçe saydığından, bütün WordPress kurulumlarında böyle bir görüntü verecektir. Halbuki WordPress’e ait zaten bir tarih ve saat ayarı bulunmaktadır. Bunu kullanarak kodu yeniden yazarsak;

<?php
$dateformat = get_option('date_format');
$timeformat = get_option('time_format');
the_time("$dateformat  $timeformat");
?>

Böyle kullandığınızda her WordPress kurulumunda farklı bir tarih gösterimi elde etmiş olursunuz. Örneğin Türkiye’de tarih ayarı olarak genelde ‘d F Y’ kullanıldığından yukarıdaki kod 15 Ağustos 2009 12:53 şeklinde bir sonuç verirken, yabancı birinin bilgisayarında yukarıdaki gibi bir sonuç verecektir. WordPress seçeneklerine Seçenek Listesinden ulaşabilirsiniz.

WordPress fonksiyonları

WordPress fonksiyonları (tema etiketlerinin dışında) temanızı çok daha fazla özelleştirmenize olanak sunarlar. Örneğin, koşul fonksiyonları temanıza farklı durumlarda farklı biçimler vermenizi kolaylaştırır ya da öğreneceğin query_post fonksiyonu, yazıları listelerken, elde edilen yazı listesini istediğiniz gibi filtrelemenizi sağlar ya da get_posts fonksiyonu ile temanızın istediğiniz bir yerinde istediğin özelliklerdeki yazıları elde edip, basit bir döngü ile listeletebilirsiniz.
Elbette ki birçok WordPress fonksiyonunun yaptığı işi PHP bilginizle kendiniz de yapabilirsiniz, ancak neden zaman kaybedesiniz? WordPress fonksiyonlarına Fonksiyon Listesinden ulaşabilirsiniz.

Bileşenler İçin Biçimlendirmeler Ekle

Yeni nesil temaların hepsi WordPress bileşenlerini desteklemekte ve bileşenler için biçimlendirmeler sunmaktadır ancak iyi bir temada bununla yetinilmemelidir.
Çoğu WordPress kullanıcısı WordPress’e ait bileşenleri (Kategoriler, Sayfalar, Takvim, Etiket Bulutu vs.) kullanır. İşte temanızda bu bileşenler için özel biçimlendirmeler sunmanız, temanız için fark yaratacaktır. Örneğin; aktif kategoriyi diğerlerinden farklı renkte sunabilirsiniz, takvim bileşeninde yazı olan günün arka planını farklı renk yapabilir, etiketlerin rengini diğerlerinden farklı gösterebilirsiniz.
Bunu yapabilmek için hangi bileşenlerin hangi CSS sınıflarını kullandığını bilmeniz yeterli.

Eklentileri ve Bileşenleri Doğru Tanımla

Temanızla birlikte çeşitli eklentileri kullanmak isteyebilirsiniz. Bazı eklentileri temanızda kullanabilmek için, eklentiyi çağıran kodlar ekleriz ancak ya kullanıcı bu eklentileri etkinleştirmemiş ya da kurmamışsa ne olur? Eğer önleminizi almadıysanız, temanız hata verir. Bunun önüne geçmek için temanızla birlikte kullanmayı düşündüğünüz eklentinin kurulmamış olmasını göz ününe alarak hata oluşmamasını sağlamalı hatta alternatifler sunmalısınız. Şöyle düşünün WP – Pagenavi eklentisini destekleyecek şekilde oluşturacaksınız. Bu eklentiyi kullanmak için temanıza aşağıdaki kodu doğrudan eklerseniz, eklenti kurulu olmadığında hata alırsınız.

<?php wp_pagenavi(); ?>

 

<?php
if (function_exists('wp_pagenavi')) { wp_pagenavi(); }
else{
?>
<div class="navigation">
<div class="alignleft"><?php next_posts_link('&laquo; Eski Yazılar') ?></div>
<div class="alignright"><?php previous_posts_link('Yeni Yazılar &raquo;') ?></div>
</div>
<?php
}
?>

Elementler İçin Tema Dosyaları Oluştur

WordPress farklı durumlar için, farklı tema dosyaları kullanır. Çoğu temada index.php, archive.php, page.php ve single.php dosyaları bulunur. Halbuki WordPress’te farklı tema dosyaları da bulunmakta ve bunları kullanarak daha özel bir tema yazabilirsiniz. Örneğin yazarlar için author.php, resimler için attachment.php, video.php, etiketler için tags.php vb. dosyalar oluşturabilirsiniz. Bütün bunların ötesinde özel sayfa şablonları oluşturarak, kullanıcının özel sayfalar oluşturmasına katkıda bulunabilirsiniz. Örneğin, bütün yazıların sadece başlıklar halinde listelendiği bir arşiv şablonu, bağlantıların listelendiği bir bağlantı şablonu, etiket bulutunu yayımlayabileceği bir etiket bulutu şablonu oluşturabilirsiniz.
WordPress’teki tema hiyerarşisini Tema Hiyerarşi Diyagramından öğrenebilirsiniz.

Tema İçin Bir Seçenek (Kontrol Panel) Sayfası Oluştur

Çoğu profesyonel temada, temadaki bölümleri özelleştirebilmeyi sağlayan bir seçenekler sayfası bulunur. Bu sayfalar ile tema renkleriyle oynayabilir, Header alanındaki resmi değiştirebilir, Footer alanına kendi bilgilerinizi ekleyebilirsiniz. Ya da daha farklı noktalar üzerinde kontrol şansınız olur. Eğer herkes tarafından sevilen bir tema yapmak istiyorsanız, kesinlikle temanıza bir kontrol sayfası oluşturun.
Seçenekler sayfası oluşturmak için Create an Options Page For Your WordPress Theme ve How To: Create a Theme Options Page for Your WordPress Theme

Evrensel Temalar Hazırla

Temalarınızı sadece Türkiye’deki WP kullanıcıları için yazacaksanız problem yok, ancak temanıza sağlayacağınız dil desteği ile tüm dünyada kullanılmasını sağlayabilir, böylece önemli geri bağlantılar (backlinks) kazanabilirsiniz. Eğer böyle bir tema hazırladıysanız, WordPress Tema Dizinine eklemeyi de unutmayın.

Teman İçin Kullanım Klavuzu Hazırla

Temanızı paylaşacaksanız, en azından temanızın doğru çalışabilmesi için hangi eklentilerin kurulması gerektiğini, eğer temanın yönetim paneli varsa, neyin ne olduğunu açıklayan bir klavuz yayımlamanız kullanıcıların çok hoşuna gidecektir. Temayla birlikte kullandığınız eklentileri de temayla birlikte paylaşırsanız daha yerinde olacaktır.