29
2013
WordPress Koşul Etiketleri: is_category(), is_tag() ve is_tax() Fonksiyonları
Koşul etiketleri ile ilgili yazıların bu üçüncü bölümünde arşiv koşullarını kontrol etmek için kullanılan is_category(), is_tag(), is_tax(), is_author gibi koşul etiketlerini tanıtacağım. Bu etiketler sayesinde arşivleri görüntülerken özelleştirme yoluna gidebilecek ya da belirli kategori, etiket, taksonomileri kontrol edebileceksiniz.
is_category() - Bir Kategori mi Görüntüleniyor?
Bir kategorinin bağlantısına tıklanıp, o kategori içindeki yazılar listelenirken bu fonksiyon true değerini döndürür. Tabi ki is_single() fonksiyonunda olduğu gibi belirli kategorilerin de kontrolü yapılabilir. Bu fonksiyon daha çok arşiv sayfasında kategoriler için özelleştirme yapılırken kullanılır. Fonksiyonumuzun genel ve özel kullanımı aşağıdaki gibidir.
<?php //Genel kullanım if ( is_category() ) { echo "Bir kategorinin yazıları listeleniyor"; } is_category( '15' ) //15 ID'li kategori mi görüntüleniyor? is_category( 'wordpress-eklentileri' ) //wordpress-eklentileri kısa adına sahip kategori mi görüntüleniyor? is_category( array(15, 20, 38) ) //15 ya da 20 ya da 38 ID'li kategorilerden biri mi görüntüleniyor? is_category( array('sebze', 'meyve', 'ot') ) //sebze, meyve ve ot kısa isimli kategorilerden biri mi görüntüleniyor? is_category( array(15, 'meyve', 'sebze) ) //15 ID'li ya da meyve veya sebze isimli kategorilerden biri mi görüntüleniyor? ?>
Gördüğünüz gibi fonksiyon çok esnek. Kategorinin elinizdeki bilgisine göre istediğiniz şekilde özelleştirebilirsiniz.
is_tag() - Bir Etiketin Yazıları mı Görüntüleniyor?
Yazılarımıza çeşitli etiketler ekliyoruz, bir etikete tıklandığında o etiketin yazıları listelenir. Bu fonksiyon işte bunu yaptığınızda true değeri döndürür. Yine is_category() gibi bu fonksiyonda da belirli etiketlerin mi görüntülendiğini kontrol edebilirsiniz.
if ( is_tag() ) { echo "Etiketin yazıları görüntüleniyor"; }
is_tax() - Bir Taksonominin Yazıları mı Görüntüleniyor?
Taksonomi sistemi WordPress'in son sürümlerinde kullanılan bir sistem. Kullandığımız kategoriler, etiketler birer taksonomi türüdür. Kategoriler category, etiketler ise post_tag taksonomi türündedir. İstenirse özel taksonomi türleri de tanımlanabilir. Örneğin filmlerle ilgili yazıların yayınlandığı bir sitede yazılar Oyuncular, Yönetmenler şeklinde tıpkı etiketler ya da kategoriler gibi davranan taksonomi türleri oluşturulabilir. İşte is_tax() fonksiyonu bir kategoriye, bir etikete ya da özel bir taksonomi türüne tıklanmışsa true değerini döndürür. Yani yukarıdaki fonksiyonları da içine alan genel bir koşul etiketidir. Kullanımları yine is_category() fonksiyonu ile aynı olduğundan sadece genel kullanımını veriyorum.
if ( is_tax() ) { echo "Herhangi bir taksonomi türündeki yazılar görüntüleniyor"; }
is_archive() - Herhangi Bir Arşiv mi Görüntüleniyor?
is_archive() en gelen arşiv koşul etiketidir. Herhangi bir kategoriye, etikete, taksonomi türüne, tarih arşiv bağlantısına, yazarın yazıları bağlantısına tıkladığınızda fonksiyon true değerini verecektir. Genel kullanımı:
if ( is_archive() ) { echo "Herhangi bir arşiv sayfasındasınız"; }
is_author() - Bir Yazarın Yazıları mı Görüntüleniyor?
Bir yazarın, yazarın yazıları bağlantısına tıkladığınızda bu fonksiyon true değerini döndürür. İstenirse is_category() fonksiyonunda olduğu gibi belirli bir yazarın yazılarının mı görüntülendiği kontrol edilebilir.
<?php //Genel kullanım if ( is_author() ) { echo "Bir kategorinin yazıları listeleniyor"; } is_author( '15' ) //15 ID'li yazarın mı yazıları görüntüleniyor? is_author( 'mahmut' ) //mahmut kullanıcı adlı yazarın mı yazıları görüntüleniyor? is_author( array(15, 20, 38) ) //15 ya da 20 ya da 38 ID'li yazarlardan birinin mi yazıları görüntüleniyor? is_author( array('ahmet', 'mehmet', 'mahmut') ) //ahmet, mehmet veya mahmut kullanıcı adlı yazarlardan birinin mi yazıları görüntüleniyor.? is_author( array(15, 'ali', 'veli) ) //15 ID'li ya da ali veya veli isimli kategorilerden biri mi görüntüleniyor? ?>
Bu üç bölümlük yazı serisinde anlattığım koşul etiketlerinin dışında da etiketler var. Ancak ben daha çok kullanılan, WordPress'in akışını kontrol edebileceğiniz etiketlerden bahsetmek istedim.
Eğer az da olsa İngilizce'niz varsa WordPress Codex'teki Conditional Tags - Koşul Etiketleri sayfasını inceleyerek, diğer koşul etiketleri hakkında bilgi edinebilirsiniz.