BU DERSİN BAŞLIKLARI
Bir ziyaretçiniz, kategori – etiket – özel sınıflandırma yöntemi arşivlerinden birine ait bir linke tıklarsa, WordPress, bu sınıfa ait yazı arşivinizi, şablon hiyerarşisindeki uygun şablonu bularak, yeniden eskiye doğru sıralar.
Bir arşiv sayfası şablonunuz yoksa, WordPress, arşivlerinizi göstermek için index.php
dosyasını kullanır. Koşullu ifadeler kullanarak, index.php
şablonunu, bir arşiv şablonu olarak kullanmak da çokça görülen bir yöntemdir.
Bir arşiv sayfası şablonu hazırlamanın en pratik yolu, index.php
veya home.php
veya category.php
sayfanızın bir kopyasını oluşturmak, bu kopyayı, oluşturacağınız arşiv sayfasına uygun olarak yeniden isimlendirmek ve gerekli gördüğünüz rötuşları yapmaktır.
Arşiv Sayfaları Hiyerarşisi
WordPress, bir içerik için hangi şablonu dosyasını kullanacağına, şablon hiyerarşisi kurallarına göre karar verir.
Kategoriler, etiketler ve özel sınıflandırmalar için kullanılan; category.php
, tag.php
, taxonomy.php
şablonları, içeriklerinizi, belli bir sınıfa göre arşivlemek için kullanılan genel şablonlardır. Fakat, bir sınıflandırma yönteminize veya bir kategorinize ait yazılarınızı, genel şablonuna göre değil, diğerlerinden farklı bir şablon ile sunmak isteyebilirsiniz. Bunun için, yapmanız gereken şey, hedeflediğiniz kategori ya da sınıfın link adını, ilgili şablon dosyasının adına tire işareti ile birlikte ekleyerek yeni bir dosya oluşturmaktır. Aşağıda, bunun nasıl yapılacağı gösterilmiştir:
taxonomy-{siniflandirma_yonteminin_link_adi}-{sinifin_link_adi}.php
: Bu şablon, sadece adı verilen sınıflandırma yöntemindeki, adı verilen sınıfa ait arşivi gösterir.taxonomy-{siniflandirma_yonteminin_link_adi}.php
: Bu şablon, adı verilen sınıflandırma yöntemine ait arşivi gösterir.tag-{etiketin_link_adi}.php
: Bu şablon, adı verilen etikete ait arşivi gösterir.tag-{ID}.php
: Bu şablon, ID değeri verilen etikete ait arşivi gösterir.category-{kategorinin_link_adi}.php
: Bu şablon, sadece adı verilen kategoriye ait arşivi gösterir.category-{ID}.php
: Bu şablon, sadece, ID değeri verilen kategoriye ait arşivi gösterir.
Örneğin, register_taxonomy()
fonksiyonu ile, “hayvanlar” adında özel bir sınıflandırma yöntemi eklediniz varsayalım. Daha sonra, tıpkı bir kategori ekler gibi, yönetim panelinizden, bu sınıflandırmaya ait “kediler” adında bir sınıf eklediniz. Bu sınıftaki yazı arşivinizi göstermek için ayrı bir şablon oluşturmak isterseniz, temanızın ana dizininde, taxonomy-hayvanlar-kediler.php
adında bir dosya oluşturmalısınız.
WordPress, herhangi bir sınıftaki arşiviniz için hazırlanmış özel bir şablon bulamazsa, onun yerine archive.php
şablonunu kullanır. archive.php
şablonu, bütün arşiv sayfalarınız için kullanılan en genel arşiv şablonudur.
Kategori Şablonları
Kategoriler, WordPress kurulumu ile birlikte gelen bir sınıflandırma yöntemidir. Belli bir kategorideki içeriklerinizi diğerlerinden faklı görünecek şekilde arşivlemek isteyebilirsiniz. Kategoriler için oluşturabileceğiniz şablon dosyaları, hiyerarşi sırasına göre şöyledir:
category-{kategorinin_link_adi}.php
Örneğin, kategorinizin link adı “haberler” ise, bu kategorideki arşiviniz için WordPress öncecategory-haberler.php
şablonunu kullanır.category-{ID}.php
Link adına göre bir şablonu yoksa ve kategorinizin id değeri 6 ise, bu kategorideki arşiviniz için WordPress,category-6.php
şablonunu kullanır.category.php
archive.php
index.php
Etiket Şablonları (Tag)
Etiketler de tıpkı kategoriler gibi, WordPress kurulumu ile birlikte gelen bir sınıflandırma yöntemidir. Etiketler, kategoriler gibi hiyerarşik yapıda değildir. Yani bir etiketin alt ya da üst etiketleri olmaz. Belli bir etikete sahip içeriklerinizi, diğerlerinden faklı görünecek şekilde arşivlemek isteyebilirsiniz. Etiketler için oluşturabileceğiniz şablon dosyaları, hiyerarşi sırasına göre şöyledir:
tag-{etiketin_link_adi}.php
: Örneğin, etiketinizin link adı “baharatli-yemekler” ise, bu etikete sahip olan yazılarınızın arşivi için WordPress önce,tag-baharatli-yemekler.php
şablonunu kullanır.tag-{ID}.php
: Link adına göre bir şablonu yoksa ve etiketinizin id değeri 6 ise, bu etikete sahip olar yazılarınızın arşivi için WordPress,tag-6.php
şablonunu kullanır.tag.php
archive.php
index.php
Özel Sınıflandırma Yöntemi Şablonları
WordPress, register_taxonomy()
fonksiyonu ile sonradan eklenen sınıflandırma yöntemlerine, özel sınıflandırma yöntemleri der. Sonradan eklediğiniz bir sınıflandırma yöntemine ait olan yazılarınız için bir arşiv şablonu hazırlamak isterseniz, hiyerarşi şöyledir:
taxonomy-{siniflandirma_yonteminin_link_adi}-{sinifin_link_adi}.php
: Örneğin,register_taxonomy()
fonksiyonu ile, “hayvanlar” adında özel bir sınıflandırma yöntemi eklediniz varsayalım. Daha sonra, tıpkı bir kategori ekler gibi, yönetim panelinizden, bu sınıflandırmaya ait “kediler” adında bir sınıf eklediniz. WordPress, bu sınıftaki yazı arşivinizi göstermek için önce,taxonomy-hayvanlar-kediler.php
şablonunu kullanır.taxonomy-{siniflandirma_yontemi}.php
: “hayvanlar” adındaki özel sınıflandırma yöntemine ait “kediler” arşiviniz için WordPress,taxonomy-hayvanlar-kediler.php
şablonunu bulamazsa bu şablonu kullanır.taxonomy.php
archive.php
index.php
Bir Arşiv Sayfası Şablonu Oluşturma
Herhangi bir sınıflandırmaya ait yazı arşiviniz için bir şablon oluşturmaya karar verdiniz diyelim. Peki nereden başlamalısınız?
Bir arşiv şablonu oluşturmanın en pratik başlangıcı, hiyerarşide bu şablondan sonra gelen ilk dosyayı kopyalayıp yapıştırmaktır. Mesela, kategori arşivinizi özelleştirmek istediniz ve category.php
adında bir şablon oluşturmaya karar verdiniz. Hiyerarşiye göre, category.php
şablonundan hemen sonraki şablon, archive.php
, ondan sonraki ise index.php
dosyalarıdır. Yani varsa arcihve.php
dosyasını, yoksa da index.php
dosyasını koplayıp yapıştırarak başlamak, category.php
şablonu hazırlarken, size zaman kazandıracaktır.
Yukarıda bahsettiğimiz yöntemi, oluşturmak istediğiniz bütün arşiv şablonları için kullanabilirsiniz.
Örnekler
Arşiv şablonlarında bazı düzenlemeler yaparak, sizlere, şablonunuzu özelleştirmek konusunda yol göstermek isityoruz.
Kategori Arşivinize Sabit Bir Yazı Eklemek
Kategorilere ait arşiv sayfalarınıza, özel bir not, başlık ya da bilgi eklemek isterseniz, tema dizininizde, ilgili kategori şablonu bulup, bu sayfadaki döngünün üstüne, şöyle bir kod ekleyebilirsiniz:
<p>
Bu sayfa, seçtiğiniz kategorideki bütün yazıları, yeniden eskiye doğru listeler.
</p>
Bu notu, döngünün altına eklerseniz, arşiv listesinin altında yayınlanacaktır.
Kategori Arşivinize, Kategorisine Göre Yazı Eklemek
Kategorilerinize ait, arşiv sayfalarınıza not düşmek istiyorsunuz fakat, bazı kategoriler için diğerlerinden farklı notlar düşmek istiyorsunuz. Bunu yapmanın zor yolu, her kategori için, category-{link-adi}.php
şeklinde birer şablon hazırlamak ve her bir şablonda, döngülerin üst kısmına o kategori için özel bir not düşmektir. Bu yol, tema dizininizde, bir çok dosya oluşmasına yol açacaktır. Kolay yolu ise, category.php
dosyanıza şu kodu eklemektir:
<?php if (is_category('Kategori A')) : ?>
<p>Kategori A için özen bir not</p>
<?php elseif (is_category('Kategori B')) : ?>
<p>Kategori B için özen bir not</p>
<?php else : ?>
<p>Bu kısım diğer bütün kategori arşivlerinde görünecektir. Dilerseniz boş da bırakabilirsiniz.</p>
<?php endif; ?>
Arşivinizin Sadece İlk Sayfasına Yazı Ekleme
Arşivinizdeki yazıların sayısı, Yönetim paneli : Ayarlar->Okuma sayfasında ayarladığınız, “En fazla gösterilecek blog sayfası adedi” sayısını aşıyor ise, arşivinizde, birden çok sayfa var, bu yüzden de bir sayfalama durumu var demektir.
Sayfalanmış bir sayfada, kaçıncı sayfanın gösterilmekte olduğunu anlamak için, $paged değişkeninin aldığı değere bakmalıyız. Bu değişken, 2 den küçük bir değer alıyor ise, bu ilk sayfada olduğunuz anlamına gelir. Aşağıdaki kod, bu mantık ile, sayfalanmış bir arşiv sayfasında, ilk sayfa için bir not düşmektedir:
<?php if ( $paged < 2 ) : ?>
<p>Kategori arşivin ilk sayfası için bir yazıdır.</p>
<?php else : ?>
<p>Bu yazı, ilk sayfa dışındaki bütün sayfalarda görünecektir. Dilerseniz burayı boş bırakabilirsiniz.</p>
<?php endif; ?>
Arşivdeki Yazıların İçeriklerinin Görünümü
Bir çok tema, arşiv sayfalarında sıralanan yazıların, tam metnini değil giriş kısmını ya da özetini göstermeyi tercih eder. Böylesi, daha kullanışlı olur. Eğer, temanızın kategori arşivinde, siz de içeriklerinizin tam metni yerine özetlerini göstermek isityorsanız, kategori şablonunuzu açıp, döngü içerisindeki:
the_content() // tam metni gösterir
fonksiyonunu kaldırıp, yerine:
the_excerpt() // özeti ya da metnin giriş kısmını gösterir
fonksiyonunu kullanmalısınız. Belki de, yazılarınız kısa kısadır ve arşivlerinizde, özetini değil, metinlerinizin tamamını göstermek istiyorsunuz. O zaman da bu işlemin tam tersini yapmalısınız.
1 yorum: “3.7 Arşiv Sayfası (Taxonomy) Şablonları”