WordPress Tema Yapısı – Nasıl WordPress Teması Geliştirilir?

WordPress Tema Yapısı – Nasıl WordPress Teması Geliştirilir?

WordPress tema yapısı oldukça esnektir. Tasarım yönünüz gelişmişse çok kısa sürede yaptığınız tasarımları WordPress’e aktarabilirsiniz.

Hazırladığım WordPress eğitim videoları ile WordPress’i detaylı olarak öğrenebilir ve kullanabilirsiniz.

WordPress teması geliştirirken başlarda biraz zorlanabilirsiniz ama tema yapısını anladığınız da çok kısa sürede hızlı temalar çıkarabilirsiniz.

WordPress teması geliştirdiğiniz kullanmanız gereken dosyaları ve açıklamalarını yazımızda bulabilirsiniz.

Yazıda sadece dosyaların isimlerini ve özelliklerini anlatacağım.

WordPress Tema Dosyaları

Index Dosyası
index.php: index.php dosyasında yazdığınız son yazılardan başlayarak içerikleriniz listelenir. Ama index.php dosyası bizim joker dosyamız gibidir. Genel olarak ana sayfa gibi düşünülse de aslında olmayan bir tema dosyasının yerine de geçer.

Ne demek istediğimi diğer dosyaların açıklamalarında daha iyi anlayabilirsiniz. WordPress temamız da içi boş dahi olsa index.php dosyamız olmalıdır. Yoksa temanızı kullanamazsınız.

Ancak child tema geliştiriyorsanız böyle bir zorunluluk yoktur. Child tema geliştirme ile ilgili bilgiye WordPress Child Tema Nedir, Nasıl Oluşturulur yazımızı okuyabilirsiniz.

Stil Dosyası
style.css: Css kodlarımızın bulunduğu dosyadır ve index.php gibi içi boş dahi olsa olması gereken dosyadır. Aksi takdirde temanızı kullanamazsanız.

index.php ve style.css dosyası temanız da yoksa temanızı etkin hale getiremezsiniz. Alternatifleri yoktur.

Ayar Dosyası
functions.php: WordPress’in en önemli özelliği (ve bu kadar çok kullanıcıya sahip olmasını sağlayan) dışardan istediğim şekilde sisteme ekleme/düzenleme yapabilmemiz. Bu yapıyı tema dosyalarımızda oluşturduğumuz functions.php dosyası sağlar.

WordPress’te şu işlemi nasıl yapabilirim dediğiniz de yazacağınız kodların %99’u bu dosyaya yazılır.

Sayfa Dosyası
page.php: WordPress panelinde görebileceğiniz gibi 2 farklı içerik türü var. Bunlar Yazılar ve Sayfalar. Sayfalar içerik türünün içeriği page.php dosyası sayesinde gösterilir.

page.php dosyasında yapacağınız düzenlemelerle bu içeriklerin nasıl görüneceğini belirtmiş olursunuz.

page.php dosyasının alternatifi index.php’dir. Yani temanız da page.php dosyası yoksa, onun yerine içerik index.php’nin yapısına göre gösterilir.

Arşiv Dosyası
archive.php: Web sitenizin içeriğine WordPress’in yapısı gereği siteadi.com/yil, siteadi.com/yil/ay, siteadi.com/yil/ay/gün şeklinde de ulaşılır.

Bu şekilde site içeriğinizi listelerken WordPress archive.php dosyasını baz alarak gösterim yapar.

Tabi archive.php sadece site arşivini göstermek için kullanılmaz. Bunun yanında kategori içeriği, etiket içeriği, arama sonuçları gibi içeriklerde archive.php dosyası baz alınarak gösterilir.

archive.php dosyasının alternatifi index.php’dir. Yani temanız da archive.php dosyası yoksa, onun yerine içerik index.php’nin yapısına göre gösterilir.

Yazı Dosyası
single.php: Yazılarımızın temamız da ne şekilde görüleceğini single.php dosyasında yapacağınız düzenlemelerle ayarlayabilirsiniz.

page.php, archive.php dosyalarında olduğu gibi single.php dosyasının da alternatifi index.php’dir. Yani temanız da single.php dosyası yoksa, onun yerine içerik index.php’nin yapısına göre gösterilir.

Hata Dosyası
404.php: Eğer sitemizde olmayan bir içerik gösterilmek istenirse o zaman 404.php dosyamız çağrılır. Zaten adından da anlaşıldığı gibi 404 Bulunamadı hatası için kullanılır.

Yukarıda belirttiğim dosyalar ile çok basit ve hızlı bir WordPress teması geliştirebilirsiniz. index.php, style.css, page.php, single.php, archive.php ve 404.php dosyaları hızlı bir WordPress teması için yeterli olur.

Tabi bir tema indirdiğiniz bunların dışında da bir çok dosya görürsünüz. Şimdi temamızı biraz daha özelleştirmek için ihtiyaç duyduğumuz diğer dosyalara bakalım.

Kategori Dosyası
category.php: Yazılarımızı girdiğimiz kategorilere ait içerikler category.php dosyasının yapısına göre listelenir.

Bu dosyayı oluşturduğunuz da kategori içeriğinin listesi archive.php’den ayrılmış olur.

Etiket Dosyası
tag.php: Yazılarımıza girdiğimiz etiketlere ait içerikler tag.php dosyasının yapısına göre listelenir.

Bu dosyayı oluşturduğunuz da etiket içeriğinin listesi archive.php’den ayrılmış olur.

Arama Dosyası
search.php: Sitenizde yapılan arama sonuçları search.php dosyasının yapısına göre listelenir.

Bu dosyayı oluşturduğunuz da arama sonuçlarının içeriği archive.php’den ayrılmış olur.

Yazdığımız bu ek dosyalarla artık içeriğimizi biraz daha özelleştirmiş olduk. Kategoriler, etiketler ve arama sonuçları için farklı görünümler katabiliriz.

Şimdi sırada biraz daha özelleştirme yapmamızı sağlayan yardımcı dosyalar var.

Üst Kısım Dosyası
header.php: Bu dosya sitemizin üst kısmı olarak tanımlanır. Her sayfada standart olarak kullanmak istediğimiz bir üst kısım varsa içeriğini bu dosyaya yazarak tek bir dosyadan bölümün kontrolünü yapabiliriz.

Genelde logo, menü kısımları bu dosya içerisinde tutulur. Diğer dosyalarda <?php get_header(); ?> kodu ile bu dosyayı çağırabilirsiniz.

Alt Kısım Dosyası
footer.php: Bu dosya sitemizin alt kısmı olarak tanımlanır. Her sayfada standart olarak kullanmak istediğimiz bir alt kısım varsa içeriğini bu dosyaya yazarak tek bir dosyadan bölümün kontrolünü yapabiliriz.

Genelde iletişim bilgileri, menü ve body ve html etiketlerinin kapatılmaları (</body>, </html>) bu dosya içerisinde tutulur. Diğer dosyalarda <?php get_footer(); ?> kodu ile bu dosyayı çağırabilirsiniz.

Bileşen Dosyası
sidebar.php: WordPress ile yapılmış sitelerin çoğunda içeriğin sağında veya solunda genelde aynı olan farklı bir bölüm görürsünüz. Bu alanların içeriği sidebar.php dosyasının içeriğine göre listelenir.

WordPress yönetim panelinde Temalar menüsünün alt menüsü olan Bileşenler kısmında yapacağınız değişikliklerle sidebar.php dosyasının içeriği düzenleyebilirsiniz.

Ancak diğer dosyalara nazaran sidebar.php dosyasını panelden kullanmak için functions.php dosyasında tanıtılması gerekmektedir.

add_action( 'widgets_init', 'theme_slug_widgets_init' );
function theme_slug_widgets_init() {
    register_sidebar( array(
        'name' => 'Main Sidebar',
        'id' => 'sidebar-1',
        'description' => 'Widgets in this area will be shown on all posts and pages.',
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
 'after_widget'  => '</li>',
 'before_title'  => '<h2 class="widgettitle">',
 'after_title'   => '</h2>',
    ) );
}

Yukarıdaki kodu functions.php dosyasına yazarsanız Adı Main Sidebar id’si sidebar-1 olan bir bileşen alanı oluşturursunuz.

Son olarakta sidebar.php dosyasının içeriğine <?php dynamic_sidebar(‘sidebar-1’); ?> kodunu yazmanız gerekmektedir. Burada ki sidebar-1, functions.php dosyasında tanımladığımız sidebarın id değeridir.

Diğer dosyalarda <?php get_sidebar(); ?> kodu ile bu dosyayı çağırabilirsiniz.

Dosyaları oluşturduktan sonra içlerine sadece WordPress’in ana döngü kodu olan Loop’u yazarsanız içeriğinize erişebilirsiniz.

Örnek bir index.php dosyası oluşturursak;

// Header dosyası

<?php get_header(); ?>

//İçeriği gösterecek kodun başlangıcı
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

//İçerik başlığı. Yazıya bağlantı linki ile.
<a href="<?php the_permalink(); ?> title="<?php the_title_attribute(); ?>">

<?php the_title(); ?>

</a>

//İçerik
<?php the_content(); ?>

//İçeriği gösterecek kodun sonu

<?php endwhile; else : ?> 
<p><?php _e( 'İçerik yok' ); ?></p> 
<?php endif; ?>

//Sidebar dosyası
<?php get_sidebar(); ?>

//Footer dosyası

<?php get_footer(); ?>

Header, footer, sidebar ve functions.php dışında ki dosyalarınızı da bu şekilde oluşturabilirsiniz.

Tabi bunların dışında her kategori, her içerik ve her sayfaya göre görünümü özelleştirebilirsiniz. Bunları sırayla işleyeceğiz.

Genel olarak WordPress’in tema yapısı bu şekildedir. İlerleyen yazılarda daha detaylı yazılarımızla görüşmek üzere.

Yazılarımızı Facebook, Twitter gibi sosyal medya da paylaşıp destek olursanız çok sevinirim.

“WordPress Tema Yapısı – Nasıl WordPress Teması Geliştirilir?” için 2 yorum

  1. Merhaba.
    video ve açıklamaları çok güzel ve başarılı bir şekilde anlatmışsınız, wordpress hakkında çok fazla bilgi sahibi değildim. Video sayesinde ve yazı sayesinde wordpress’i daha iyi anlayabildim. Teşekkür ederim açıklamalarınız için.

    Bir şey sormak istiyorum. Videoyu çekerken hangi kayıt programını kullandınız ve kullandığınız mikrofonun marka ve modeli nedir acaba ses çok kaliteli çıkmış bana da bir tane mikrofon gerek fakat karar veremiyorum hangi marka alayım diye. Cevaplarsanız sevinirim.
    Teşekkürler.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

BENZER YAZILAR