Tam o sırada, başka bir pillinetwork sitesi olan sinepil.org'da: "A Short Film About Love"

\
Wordpress, eÅŸsiz bir logo'ya sahip.

Wordpress'in gizemlerini keÅŸfetmeyi ister misiniz?

İşte size wordpress'in tema şemasını ortaya koyan bir yazı. Nasıl oluyor da wordpress temaları bu kadar iyi çalışıyor?, bunu anlamak ve hiyerarşiyi çözmek için bu yazıyı okumanız yeterli.

Daha önce de belirttiğim gibi wordpress temaları bir bulmacanın mükemmel parçaları gibi bir birine uyarlar ve sitenizi sıfırdan yaratırlar. Header, Footer gibi parçalar her sayfada tekrar ederken, diğer sayfalar sadece gerek duyulduğunda çalışırlar. Evet çalışırlar, php aktif bir dildir, tıpkı bir bilgisayar programı gibi derlenir ve çalıştırılır.

Aklınıza şu soru takılmış olabilir. Bu yazı ne hakkında?

Bu yazı, wordpress'in herhangi bir sayfayı gösterirken tema dosyalarından hangilerini kullandığını açıklar.

Wordpress, temaları duyurduğundan beri çok büyük gelişmeler yaşandı. Normal yollarla öğrenilen web bilgisi ile site hazırlayanlar bile wordpress kullanmaya başladı. sanırım yakında html5 desteği de sağlanacak.

Temel Düşünce
Wordpress, hangi tema dosya veya dosyalarının sayfanın yaratılması aşamasında kullanılacağını anlamak için sorgu-cümleleri kullanır. Nedir peki bu sorgu-cümleleri?

Sorgu cümleleri, bir seri URI'dir. Ve sunucunun hangi dinamik veriyi göstereceğini anlamasını sağlar. Genel olarak sayfa isminden sonra bir soru işareti (?) ile başlar ve her set veri arasında da ile işareti (&) kullanılır.
Eğer sizin wordpress'inizin bu şekilde çalışmadığını düşünüyorsanız "mod_rewrite" konularını okuyunuz.
default.php?sayi=1&hedef=yukari

Öncelikle sorgu cümleciği çözümlenir. Ne tür bir sayfa talep edildiği bulunur. Örnek vermek gerekirse, arama sayfası mı, kategori sayfası mı, ana sayfa mı yoksa rss mi?

Daha sonra Wordpress tema hiyerarşisi'ne göre, sayfa içeriği yaratılır. burada öncelikli olarak bir temanın varlığı aranır, herhangi bir tema bulunamaması durumunda index.php sayfası kullanılır.

Örnekler
Mesela www.ornek.org/ adresinde bir blog'unuz olsun. ve bir kullanıcınız hayat kategorisindeki yazılarınızı okumak için www.ornek.org/category/hayat/ adresinde tıklamış olsun. Wordpress burada "hayat"ın kategori id değerine bakar (örnekte 34) ve category-34.php şeklinde bir tema sayfası arar. eğer bulamaz ise category.php sayfasını kullanır. Eğer onu da bulamaz ise archive.php sayfasını kullanır. Ve her şeyi denemiş olan wordpress'in o dosyayı da bulamaması durumda açacağı sayfa index.php olacaktır.

Eğer yönetici tarafından sabit sayfa özelliği açık ise, bir kullanıcı sitenizin ana sayfasına girdiğinde wordpress tema hiyerarşisine uygun olan sayfayı açacaktır. ancak sabit sayfa özelliği kapalı ise wordpress öncelikli olarak home.php adresini arayacaktır. onu bulamaması durumda ise tekrar eski dostu index.php adresine dönecektir ve sayfa verisini yaratacaktır.

Görsel Anlatım
Evet, bir resim bin kelimeye bedeldir ve belki de bin kat geç yüklenir. Ancak bu konuda bu hiyerarşi resmi her şeyin kafanızda oturmasını sağlayacak.

Ayrıntılarla Tema Hiyerarşisi
takip eden bölüm, söz konusu bölüm açılmaya çalışıldığında hangi sayfaların sırasıyla denendiğini gösterir.

Ana Sayfa
  • home.php
  • index.php
Tekil Sayfa
  • single.php
  • index.php
Normal Sayfa
  • SeçilmiÅŸ olan tema sayfası
  • page-slug.php - ancak eÄŸer güncel-haberler özelliÄŸi açılmış ise wordpress page-recent-news.php sayfasına bakacaktır. (Not: bu özellik Versiyon 2.9'dan öncesinde yok.)
  • page-id.php - eÄŸer sayfanın id deÄŸeri 26 ise, page-26.php adresine bakacaktır. (Not: bu özellik de Versiyon 2.9'dan önce yok.)
  • page.php
  • index.php
Kategori Görünümü
  • category-slug.php - eÄŸer bezgin-kategori özelliÄŸi, haberler ÅŸeklinde ayarlanmışsa, wordpress category-news.php adresine bakacaktır. (Not: bu özellik Versiyon 2.9'dan önce yok.)
  • category-id.php - eÄŸer kategori id deÄŸeri 83 ise wordpress category-83.php sayfasına bakacaktır.
  • category.php
  • archive.php
  • index.php
Etiket Görünümü
  • tag-slug.php - eÄŸer bezgin-etiket özelliÄŸi, herhangi bir ÅŸeklinde ayarlanmışsa, wordpress tag-sometag.php adresine bakacaktır.
  • tag-id.php - eÄŸer etiket id deÄŸeri 21 ise wordpress tag-21.php sayfasına bakacaktır. (not: bu özellik versiyon 2.9'dan önce yok.)
  • tag.php
  • archive.php
  • index.php
Yazar Görünümü
  • author.php
  • archive.php
  • index.php
Tarih Görünümü
  • date.php
  • archive.php
  • index.php
Arama Sonucu Görünümü
  • search.php
  • index.php
Sayfa Bulunamadı (404) Görünümü
  • 404.php
  • index.php
İlgili Doküman Görünümü
  • MIME_type.php - buradaki mime_type deÄŸeri herhangi bir tip olabilir. ÖrneÄŸin image.php, video.php, audio.php, application.php veya daha baÅŸka
  • attachment.php
  • single.php
  • index.php

Burada yer alan bilgileri isterseniz kendiniz de bulabilirsiniz, ancak biraz vakit alıyor. Denemedim diyemem. Her içerik sayfasının içine html olarak işlenmeyecek işaretler koyun ve sonra firebug veya benzeri bir program ile, wordpress'in herhangi bir sayfa oluşturduğu durumda ortaya çıkan sayfaları dikkatlice inceleyin.

tema hiyerarÅŸisi

Spacer
Spacer
 | 4 yorum var 
 | 20 Kasım 2009 16:44 

Yorumlar

resmin ismi "t" ve "h" büyük harfle olacak şekilde "Template_Hierarchy.png" ancak bildirgec alt yapısı bir yazıyı yayımlarken bütün harfleri küçük harfe çevirdiğinden dolayı resim linkine tıklandığında açılmıyor. yazıyı tekrar yayımlamak üzere değiştirdim. resmin kendisine aşağıdan erişebilirsiniz.

\

"I have no special talent. I am only passionately curious." - Albert Einstein
axanc  |  (0 puan) 20 Kasım 2009 16:50

bazı özelliklerin olduğunu bilmiyordum diye sevinmiştim ta ki bu özelliklerin versiyon 2.9 dan önce olmadığını görene kadar. bu category-id.php nin yaptığı işi archive.php sayfasına eklediğimiz bir kod ile yapmaya çalışıyorduk artık gerek kalmayacak.. güzel

mbd5200  |  (0 puan) 20 Kasım 2009 23:56

PHP tıpkı bir bilgisayar programı gibi derlenmez, yalnızca çalıştırılır.

n6600  |  (0 puan) 22 Kasım 2009 12:16

Türkçeleştirme ve ayırdığın vakit için ellerine sağlık dostum. çok güzel bir anlatım olmuş

Bilgi Güçtür
SdtKmc  |  (1 puan) 24 Kasım 2009 04:35

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu Yazıyı Tutanlar

Beğendiğiniz bir yazıya "tuttum" demek için başlığın yanındaki yıldıza tıklayabilirsiniz.

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)
bildirgec.org bölümleri
pillinetwork hesabınızla giriş yapın.

son yorumlar

bildirgecinfo

bildirgec.org içeriği kullanıcıları tarafından üretilen kolektif bir blogdur.

network siteleri

RSS Dosyası
pillikutu