WordPress kategori gizleme, category order, wp_list_categories() işlevleri
WordPress kullanmaya başladıktan bir süre sonra özellikle tema yapmaya başladığınızda wp_list_categories() fonksiyonuna işiniz düşebilir. Fonksiyonun argümanlarına vereceğiniz değerler ile istediğiniz sonuçlara ulaşabilirsiniz. Ben aşağıda verdiğim argümanın parametrelerinden en çok kullanılanları örnekleriyle birlikte açıklamaya çalışacağım.
<?PHP
'orderby' => 'name',
'order' => 'ASC',
'show_last_update' => 0,
'style' => 'list',
'show_count' => 0,
'hide_empty' => 1,
'use_desc_for_title' => 1,
'child_of' => 0,
'feed' => ,
'feed_type' => ,
'feed_image' => ,
'exclude' => ,
'exclude_tree' => ,
'include' => ,
'current_category' => 0,
'hierarchical' => true,
'title_li' => __( 'Categories' ),
'number' => NULL,
'echo' => 1,
'depth' => 0 );
wp_list_categories( $args );?>
Tüm Kategorileri Gösterme parametresi: show_option_all parametresi
Tüm kategorilerin listelenmesini istiyorsanız “show_option_all” kullanabilirsiniz.
<?php wp_list_categories('show_option_all=Tüm Kategoriler'); ?>
Kategorileri sıralamak / listelemek
Normalde kategoriler kategori adına göre sıralanır.
Kategorileri yazı sayısı çok olandan aza doğru sıralamak
<?php wp_list_categories('orderby=count'); ?>
Bu kod ile en fazla yazı hangi kategoride yazılmışsa, o kategori en üstte olur.
Kategorileri isme göre sıralamak
<?php wp_list_categories('orderby=name); ?>
Bu kod ile kategorilerin isimlerinin alfabetik sıralaması yapılır.
Kategorileri kategori ID’sine göre sıralamak
<?php wp_list_categories('orderby=ID); ?>
Bu kod bloğunda kategori numarasına göre sıralama yapılır. Kısacası en son eklenen kategori, sıralamada en üst sıradadır.
Kategorileri SEF Url ye göre sıralamak
<?php wp_list_categories('orderby=slug); ?>
Bu kod parçacığı ile sef url lerin alfabetik sıralaması göz önünde tutulur.
Kategorileri Sıralama ölçütü order parametresi ASC / DESC
order parametresi, kategorilerin sondan başa mı, baştan sona mı sıralanacağını belirler. ASC, artan biçimde, DESC azalan biçimde sıralar: Örneğin aşağıdaki örnekte “orderby=ID” yani kategori id numaralarına göre sırala dedim ardından “order=DESC” yani id’si en büyük olan kategoriden itibaren azalan sıralama yapma parametresini yazdım. Sonuçları görmek için durumları teker teker deneyin.
<?php wp_list_categories('orderby=count&order=DESC'); ?>
Kategori içindeki yazıların sayısını göstermek / gizlemek
wp_list_categories(); fonksiyonunda show_count parametresine 1 veya 0 değerlerini atayarak (show_count parametresini kullanmazsanız otomatik olarak 0 kabul edilir.) kategorilerin yanında kategori içindeki makale sayısını gösterebilir ya da gizleyebilmemiz mümkün. (Güncel (10), Sanat (2).. gibi) Yukarıdaki örnek üzerinde göstereyim.
<?php wp_list_categories('show_count=1&orderby=count&order=ASC'); ?>
İçinde yazı olmayan kategori göstermek / gizlemek
İçerisinde yazı olmayan kategoriler normalde listelenirken listelenmezler. hide_empty parametresi ile bu duruma müdehale etmek mümkün. hide_empty=1 yazarsanız içi boş olan kategoriler sıralamaya dahil olurlar, hide_empty=0 olursa dahil olmazlar. Yine yukarıdaki örneğe ekleyerek örnek vereyim.
<?php wp_list_categories('hide_empty=1&show_count=1&orderby=count&order=ASC'); ?>
Kategori açıklamalarını göstermek / gizlemek
WordPress te kategoriler için açıklama alanları bulunur. Bazı temalarda bu açıklama alanları kullanılır bazılarında ise kullanıcı bunu aktifleştirmek durumunda kalır. Atıyorum “Otomobiller” adında bir kategoriniz var ve açıklamasında “en yeni otomobiller, en son teknoloji otomobiller” yazmakta. Eğer sitede “Otomobiller” kategorisinin üzerine geldiğinizde yukarıdaki açıklama görmüyorsanız use_desc_for_title parametresinin değeri 1 değildir ve wordpress’in default değeri aktiftir.(“oda büyük ihtimal “otomobiller kategorisine ait yazıları görmek için tıklayın” veya benzeri bir şeydir.)
<?php wp_list_categories(' use_desc_for_title=1'); ?>
Sadece bir kategoriye ait alt kategorileri göstermek / gizlemek
Bu özelliği direk bir örnekle açıklayayım. Mesela “kitap” isminde ve id numarası 5 olan bir ana kategoriniz olsun. Ve bu kategorinin içinde “fantastik, polisiye, macera… vs” alt kategoriler olsun. Bu alt kategorileri
<?php wp_list_categories('child_of=5'); ?>
ile listelemeniz mümkün.
Kategoriye ait RSS linleri
Kategorileri RSS linkleriyle birlikte listelemeniz için bu parametreleri kullanabilirsiniz.
<?php wp_list_categories('feed=RSS Linki&feed_image=resim urlsi '); ?>
İstemediğiniz kategoriyi gizlemek (belli bir kategoriyi listeletmemek)
<?php wp_list_categories('exclude=5'); ?>
‘excude=istemedğiniz kategorinin id si‘ parametresini kullanarak belirlediğiniz bir kategorinin kolayca listelenmemesini sağlayabilirsiniz.
Belli kategorileri listelemek (istediğiniz kategorileri listeletin)
Bu seferki isteğimiz bir önceki parametrenin yaptığının tam tersi. Kullanacağımız parametre ‘include‘ parametresi. include= yazdıktan sonra listelenmesini istediğiniz kategori numaralarını aralarında virgül olacak şekilde yazmalısınız.
<?php wp_list_categories('include=2,5,9'); ?>
Kategorilerdeki hiyerarşik düzeni iptal etmek
Standartta alt kategoriler ana kategorilerin altında hiyerarşik düzende gösterilir. Bunu değiştirmekse bizim elimizde.
<?php wp_list_categories('hierarchical=0'); ?>
Listelenecek kategori sayısını sınırlamak (gösterilecek kategori sayısı)
Kaç tane kategorinin gösterilmesini istiyorsanız, ‘number=adet‘ parametresiyle halledebilirsiniz.
<?php wp_list_categories('number=5'); ?>
WordPress kullanmaya başladıktan bir süre sonra özellikle tema yapmaya başladığınızda wp_list_categories() fonksiyonuna işiniz düşebilir. Fonksiyonun argümanlarına vereceğiniz değerler ile istediğiniz sonuçlara ulaşabilirsiniz. Ben aşağıda verdiğim argümanın parametrelerinden en çok kullanılanları örnekleriyle birlikte açıklamaya çalışacağım.
<?PHP
'orderby' => 'name',
'order' => 'ASC',
'show_last_update' => 0,
'style' => 'list',
'show_count' => 0,
'hide_empty' => 1,
'use_desc_for_title' => 1,
'child_of' => 0,
'feed' => ,
'feed_type' => ,
'feed_image' => ,
'exclude' => ,
'exclude_tree' => ,
'include' => ,
'current_category' => 0,
'hierarchical' => true,
'title_li' => __( 'Categories' ),
'number' => NULL,
'echo' => 1,
'depth' => 0 );
wp_list_categories( $args );?>
Tüm Kategorileri Gösterme parametresi: show_option_all parametresi
Tüm kategorilerin listelenmesini istiyorsanız “show_option_all” kullanabilirsiniz.
<?php wp_list_categories('show_option_all=Tüm Kategoriler'); ?>
Kategorileri sıralamak / listelemek
Normalde kategoriler kategori adına göre sıralanır.
Kategorileri yazı sayısı çok olandan aza doğru sıralamak
<?php wp_list_categories('orderby=count'); ?>
Bu kod ile en fazla yazı hangi kategoride yazılmışsa, o kategori en üstte olur.
Kategorileri isme göre sıralamak
<?php wp_list_categories('orderby=name); ?>
Bu kod ile kategorilerin isimlerinin alfabetik sıralaması yapılır.
Kategorileri kategori ID’sine göre sıralamak
<?php wp_list_categories('orderby=ID); ?>
Bu kod bloğunda kategori numarasına göre sıralama yapılır. Kısacası en son eklenen kategori, sıralamada en üst sıradadır.
Kategorileri SEF Url ye göre sıralamak
<?php wp_list_categories('orderby=slug); ?>
Bu kod parçacığı ile sef url lerin alfabetik sıralaması göz önünde tutulur.
Kategorileri Sıralama ölçütü order parametresi ASC / DESC
order parametresi, kategorilerin sondan başa mı, baştan sona mı sıralanacağını belirler. ASC, artan biçimde, DESC azalan biçimde sıralar: Örneğin aşağıdaki örnekte “orderby=ID” yani kategori id numaralarına göre sırala dedim ardından “order=DESC” yani id’si en büyük olan kategoriden itibaren azalan sıralama yapma parametresini yazdım. Sonuçları görmek için durumları teker teker deneyin.
<?php wp_list_categories('orderby=count&order=DESC'); ?>
Kategori içindeki yazıların sayısını göstermek / gizlemek
wp_list_categories(); fonksiyonunda show_count parametresine 1 veya 0 değerlerini atayarak (show_count parametresini kullanmazsanız otomatik olarak 0 kabul edilir.) kategorilerin yanında kategori içindeki makale sayısını gösterebilir ya da gizleyebilmemiz mümkün. (Güncel (10), Sanat (2).. gibi) Yukarıdaki örnek üzerinde göstereyim.
<?php wp_list_categories('show_count=1&orderby=count&order=ASC'); ?>
İçinde yazı olmayan kategori göstermek / gizlemek
İçerisinde yazı olmayan kategoriler normalde listelenirken listelenmezler. hide_empty parametresi ile bu duruma müdehale etmek mümkün. hide_empty=1 yazarsanız içi boş olan kategoriler sıralamaya dahil olurlar, hide_empty=0 olursa dahil olmazlar. Yine yukarıdaki örneğe ekleyerek örnek vereyim.
<?php wp_list_categories('hide_empty=1&show_count=1&orderby=count&order=ASC'); ?>
Kategori açıklamalarını göstermek / gizlemek
WordPress te kategoriler için açıklama alanları bulunur. Bazı temalarda bu açıklama alanları kullanılır bazılarında ise kullanıcı bunu aktifleştirmek durumunda kalır. Atıyorum “Otomobiller” adında bir kategoriniz var ve açıklamasında “en yeni otomobiller, en son teknoloji otomobiller” yazmakta. Eğer sitede “Otomobiller” kategorisinin üzerine geldiğinizde yukarıdaki açıklama görmüyorsanız use_desc_for_title parametresinin değeri 1 değildir ve wordpress’in default değeri aktiftir.(“oda büyük ihtimal “otomobiller kategorisine ait yazıları görmek için tıklayın” veya benzeri bir şeydir.)
<?php wp_list_categories(' use_desc_for_title=1'); ?>
Sadece bir kategoriye ait alt kategorileri göstermek / gizlemek
Bu özelliği direk bir örnekle açıklayayım. Mesela “kitap” isminde ve id numarası 5 olan bir ana kategoriniz olsun. Ve bu kategorinin içinde “fantastik, polisiye, macera… vs” alt kategoriler olsun. Bu alt kategorileri
<?php wp_list_categories('child_of=5'); ?>
ile listelemeniz mümkün.
Kategoriye ait RSS linleri
Kategorileri RSS linkleriyle birlikte listelemeniz için bu parametreleri kullanabilirsiniz.
<?php wp_list_categories('feed=RSS Linki&feed_image=resim urlsi '); ?>
İstemediğiniz kategoriyi gizlemek (belli bir kategoriyi listeletmemek)
<?php wp_list_categories('exclude=5'); ?>
‘excude=istemedğiniz kategorinin id si‘ parametresini kullanarak belirlediğiniz bir kategorinin kolayca listelenmemesini sağlayabilirsiniz.
Belli kategorileri listelemek (istediğiniz kategorileri listeletin)
Bu seferki isteğimiz bir önceki parametrenin yaptığının tam tersi. Kullanacağımız parametre ‘include‘ parametresi. include= yazdıktan sonra listelenmesini istediğiniz kategori numaralarını aralarında virgül olacak şekilde yazmalısınız.
<?php wp_list_categories('include=2,5,9'); ?>
Kategorilerdeki hiyerarşik düzeni iptal etmek
Standartta alt kategoriler ana kategorilerin altında hiyerarşik düzende gösterilir. Bunu değiştirmekse bizim elimizde.
<?php wp_list_categories('hierarchical=0'); ?>
Listelenecek kategori sayısını sınırlamak (gösterilecek kategori sayısı)
Kaç tane kategorinin gösterilmesini istiyorsanız, ‘number=adet‘ parametresiyle halledebilirsiniz.
<?php wp_list_categories('number=5'); ?>