WordPress tema yapımı ile ilgili olarak açıklayıcı bilgiler vereceğim ancak bunu yapmadan önce temel verileri sunmak faydalı olacaktır. WordPress tema aslında “style.css” ve “index.php” dosyalarından ibarettir. Bu iki dosya zorunlu dosyalardır ve bunlar olmazsa tema olmaz. “style.css” dosyası, tasarımı ortaya koyan stil dosyası iken, “index.php” yerleşimi ve fonksiyonları barındırır. “index.php” dosyası özelleştirilerek single.php, archive.php, tag.php, search.php gibi dosyalar oluşturulur.
Bu yazıda, wordpress tema için gerekli en temel kodları sıralayalım. WordPress 2.9 sürümüne kadar WordPress temel tema olarak “default” temayı kullandı. Bu temada kodlar çok belirgin halde yer alıyordu ve php bilgisi olmayan birisi bile çok rahatlıkla tema yapabiliyordu. “Default” temadan sonra biraz daha karmaşık yapılı temalar temel tema olarak kullanılmaya başladı. Ancak sonuçta temel kodlar hep aynı aslında.
Bu kodları kullanarak bir tema yapmak mümkün. Nasıl yapılacağına ise şimdilik değinmeyeceğiz ancak yazının sonunda “default” temayı bulabilirsiniz. Bu temayı kullanarak tema kodlarının nasıl çalıştığını anlayabilirsiniz.
/*
Theme Name: Tema adı
*/
Temanın stil dosyasında mutlaka tema adı bulunmalıdır. Aksi halde temayı yüklemenize izin vermez WordPress. style.css’ın en üstünde bu kod yer alır. Tema adının dışında tanımı, adresi gibi birçok bilgiye yer vermek mümkün ama temeli tema adıdır.
<?php get_header(); ?>
Bu kod ile temanızın header.php dosyasını çağırabilirsiniz. Örneğin single.php’nin en üstüne bu kodu koyarak, header.php’de yer alan fonksiyonları çekebilirsiniz. Bunun için header.php dosyamız olmalı.
<?php get_sidebar(); ?>
Bu kod ile yan blok yani sidebar’ı çağırabiliriz. Bunun için sidebar.php dosyamız olmalı.
<?php get_footer(); ?>
“footer.php” dosyamızı bu kod ile çağırabiliyoruz. “footer.php”, sitenin alt bölümünde yer alan bloktur.
<?php bloginfo('name'); ?>
Sitenin adını bu kodla gösterebiliriz.
<?php echo get_option('home'); ?>
Sitemizin adresini gösterir. Örneğin https://www.wordpresstema.net
<?php bloginfo('description'); ?>
wp-admin/Ayarlar/Genel sayfasında sitemiz için bir tanım yazmıştık. O yazıyı bu kodla çağırabiliriz.
<?php bloginfo('stylesheet_directory'); ?>/
Stil dosyamız tema klasöründe bulunur. Dolayısıyla tema klasörümüzün adresini göstermek için bu kodu kullanabiliriz. Örneğin: https://www.example.com/wp-content/themes/tema-adi/
Mesela tema klasöründeki logo.png dosyasını çağırmak için şunu kullanabiliriz:
<?php bloginfo('stylesheet_directory'); ?>/logo.png
<?php bloginfo('stylesheet_url'); ?>
Stil dosyasının kendisinin adresini gösterir. Örneğin: https://www.example.com/wp-content/themes/tema-adi/style.css
<?php get_search_form(); ?>
Bu kod bize WordPress’in temel arama kutusunu getiriyor.
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
Yazılar burada listelensin
<?php endwhile; ?>
Sayfalama burada yer alabilir
<?php else : ?>
Yazı yoksa 404, sayfa bulunamadı hatası gösterilsin
<?php endif; ?>
Bu kod bloğu ile yazıları çağırabiliyoruz. Örneğin anasayfada, arşivlerde yazıları listeleyebiliriz.
<?php the_ID(); ?>
WordPress’te her yazı için bir id atanır. Bu bir sayıdır. bu kod, yazının id’sini çağırır.
<?php the_permalink() ?>
Yazının adresini gösterir. Örneğin: http://www.example.com/wordpress-tema-yapimi/
<?php the_title(); ?>
Yazının başlığını gösterir. Mesela: “WordPress Tema Nasıl Yapılır?”
<?php the_time('F jS, Y') ?>
Bu kod ile yazının ne zaman yayınlandığını gösterebiliriz.
<?php the_author() ?>
Yazının bir de yazarı olmalı. İşte bu kod o yazarın adını gösterir.
<?php the_content(''); ?>
Yazının olmazsa olmazı olan içeriğini bu kod gösterir.
<?php the_tags('Etiketler: ', ', ', ''); ?>
Eğer yazıda etiket varsa, bunlar bu kodla listelenmektedir.
<?php the_category(', ') ?>
WordPress’te her yazı için mutlaka bir kategori atanmalıdır. Bu kod kategoriyi gösterir.
<?php next_posts_link( __( '<span class="meta-nav">←</span> Older posts' ) ); ?>
Anasayfa ve arşivler için bu kod kullanılır. Önceki yazılara ulaşmanızı sağlayan navigasyon kodudur.
<?php previous_posts_link( __( 'Newer posts <span class="meta-nav">→</span>' ) ); ?>
Yukarıdakinin aksine bu da yeni yazıları gösteren sayfaya ulaşmamızı sağlar. “index.php”, “archive.php”, “search.php”, “tag.php” dosyalarında kullanılır.
<?php comments_template(); ?>
single.php yani yazı sayfalarında yorumları gösteren koddur.
<?php single_cat_title(); ?>
Kategori sayfalarında kullanılan bu kod archive.php dosyasında yer alır ve bulunulan kategorinin adını gösterir.
<?php single_tag_title(); ?>
archive.php ya da tag.php dosyasınaki bu kod ile bulunulan etiket sayfasının adı gösterilir.
<?php wp_head(); ?>
WordPress ya da eklentiler tarafından temanızda çağrılması gereken kodları bu kod ile çağırabilirsiniz. Bu kod “header.php” dosyasında yer alır.
<?php wp_footer(); ?>
WordPress ya da eklentiler tarafından temanızda bazı kodlar gösterilebilir. Örneğin js dosyaları, css dosyalarının gösterilmesi gerekebilir. “footer.php” dosyasındaki bu kod ile footer’da gösterilmesi gereken kodlar çağrılmış olur.
Bu yazıda, basit bir WordPress temasında bulunması gereken kodları görmüş olduk. Kodların tamamını ilgili dosyalarda bulabileceğiniz default temayı buradan indirebilirsiniz. Temayı kurduğunuzda php dosyalarını inceleyiniz. Emin olun bir temanın nasıl yapıldığını çözmeniz 1-2 saatinizi almaz. Ben ilk temamı yaparken css ya da php bilgim hiç yoktu. Sadece bu default temadaki kodları inceleyerek temamı yapmış ve 180 dolar kazanmıştım:). Emin olun siz de ilk temanızı çok kolayca yapabilirsiniz. Gözünüz korkmasın. Sayılan kodları çözdükten sonra css ve html’in ne olduğunu, php’nin ne işe yaradığını anlamış olacaksınız.