15 Ağustos 2009

Tema Yazanlara Tavsiyeler

WordPress Yorum Ekle

WordPress temalarının çoğu birbirine benzer, çünkü yapısal olarak neredeyse birbirlerinin aynıdırlar, 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 zaten. Tema tasarlarken, en azından tablosuz tasarım yapabilecek kadar HTML ve CSS bilmeniz gerekiyor. Bundan sonraki kısım PHP ve WordPress fonksiyonlarından geçiyor. İşte tavsiyelerim.

Bütün Tema Etiketlerini (Fonksiyonlarını) Öğrenin

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.

Bütün WordPress Seçeneklerini Öğrenin

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 format kullanır.

  1. <span><?php the_time('F j, Y G:i'); ?></span>

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;

  1. <?php
  2.   $dateformat = get_option('date_format');
  3.   $timeformat = get_option('time_format');
  4.   the_time("$dateformat  $timeformat");
  5. ?>

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.

Bütün WordPress fonksiyonlarını öğrenin

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.

WordPress Bileşenleri İçin Biçimlendirmeler Ekleyin

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ımlayın

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.
Diyelim ki temanızı 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.

  1. <?php wp_pagenavi(); ?>

Halbuki aşağıdaki gibi bir kullanım ile eklenti kurulu olmadığında bile hata almaz, kullanıcıya alternatif sunarsınız.

  1. <?php
  2. if (function_exists('wp_pagenavi')) { wp_pagenavi(); }
  3. else{
  4. ?>
  5.  <div class="navigation">
  6.    <div class="alignleft"><?php next_posts_link('&laquo; Eski Yazılar') ?></div>
  7.    <div class="alignright"><?php previous_posts_link('Yeni Yazılar &raquo;') ?></div>
  8.  </div>
  9. <?php
  10. }
  11. ?>

Bütün Elementler İçin Tema Dosyaları Oluşturun

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.

Temanız İçin Bir Seçenekler (Kontrol Paneli) Sayfası Oluşturun

Ç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ırlayın

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ız İçin Kullanım Klavuzu Hazırlayın

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.

Kaynak


Bu yazının kısa bağlantısı http://www.yakupgovler.com/?p=999.

Yazılarımı RSS aboneliği ile takip edebilir, yeni yazılarıma kolaylıkla ulaşabilirsiniz. Bunun için ise RSS adresimi kullanabilirsiniz.


“Tema Yazanlara Tavsiyeler” yazısı için 9 Yorum

Bu yazıya yapılan yorumları dilerseniz, ( RSS 2.0 ) beslemesini kullanarak takibe alabilirsiniz.

  1. joyologo dedi ki:

    çok faydalı bir makale, burada da wordpress karbon kağıtları için güzel bir liste sunulmuş:
    http://www.1stwebdesigner.com/wordpress/23-extremely-helpful-wordpress-help-sheets-and-resources/
    teşekkürler..

  2. cevat dedi ki:

    s.a Yakup hocam. Yukarıda pagenavi ile ilgili yazınız okurken bende kodları function dosyasının içine attım. Doğrumu yaptım yoksa yanlış mı yaptım bilmiyorum.

  3. İlker Aksoy dedi ki:

    Tema fonksiyonlarını tam anlamıyla kavramak isteyenler için alternatif kaynak: http://www.dbswebsite.com/design/wordpress-reference/

  4. Yakup Gövler dedi ki:

    @cevat, eklentileri functions.php dosyası içerisine almanızı tavsiye etmiyorum. Özellikle temayı başkalarıyla paylaşacaksanız, bu eklentilerin güncellenmesi gerektiğinde ne olacak?
    Ayrıca bazı eklentilerin kodları ancak eklenti olduklarında işe yarayabilmektedirler. Çünkü eklentiler functions.php dosyasından önce işletilmektedirler. Bazıları çalışabilir ama en doğrusu, eklentilerin kendi dosyalarında kalmaları, temayı paylaşırken yukarıdaki yöntemle temanızda eklentileri kullanmanız, temanız için bir kullanım klavuzu yazıp, hangi eklentilerin kullanılması gerektiğini açıklamanız yerinde olacaktır.

  5. Doğan dedi ki:

    Hocam merhabalar konularınızın zenginliği için teşekkürü size borç bilirim yapmış olduklarınızdan her gün içerisinde yararlanmaktayız. Benim size sorum şu olacak bende sizin bu temanıza benzerinden kullanıyorum silikonvadisi diye bu temanın yanları sağlı sollu boş ben bu boş olan bölgelere uzun şekilde resim lebiliyim reklam koymak istiyorum bunun için ne yapmalıyım bana yardım edersiniz çok sevinirim. Bunu nasıl düzeltebilirim yada yanlara nasıl değişiklilik sağlarım geniş görünmesini istiyorum temamın.

  6. Yakup Gövler dedi ki:

    @Doğan, bunun için HTML ve CSS öğrenerek işe başlayabilirsiniz. Bunları kullanarak temaya istediğinizi ekleyebilirsiniz. CSS ile ilgili olaraka http://www.fatihhayrioglu.com sitesindeki CSS derslerini incelemenizi, özellikle kutu modeli konusunu, tavsiye ederim.

  7. Doğan dedi ki:

    Yakup, Hocam Bakın anlatmak istediğim şudur *** bu linke tıklayın hocam demek istediğimi anlayacaksınız ben buraları doldurmak istiyorum lütfen cevap verin hocam.

  8. Yakup Gövler dedi ki:

    @Doğan, üzgünüm. Bir süre önce aldığım prensip kararı uyarınca sohbet, dizi, film vb. sitelere herhangi bir şekilde yardımcı olmuyorum.

  9. Servet dedi ki:

    Yakup bey arkadaş güzel lafa deyinmiş bu dediği konuyu nasıl yaparız bende böyle kesik sayfa kullanıyorum bari bana yardım edin hocam benimki o dediğiniz içeriklerden değil özgün blog sayfası cevap bekliyicem.