Öncelikle basit bir mantık yürütelim, bir kategorinin alt kategori olup olmadığını nasıl kontrol ederiz?
- Eğer incelediğimiz kategori alt kategori ise, bu kategorinin bir alt kategorisi (child) daha olmayacaktır.
- İncelediğimiz kategorinin üst kategorisi var mı diye kontrol ettiğimizde, ki bu işlem için get_category_parents fonksiyonu var, kategorinin üst kategorileri olması lazım. Sonuçta kategorimiz alt kategori mi diye bakıyoruz.
- Geçelim işlemlere.
Functions.php dosyanızı açıp şu satırları ekleyin:
<?php
# wpuzmani.com alt kategori kontrolü
function is_subcat() {
global $post;
$category = get_the_category();
$id = $category[0]->cat_ID;
$control = get_category_children($id);
if($control != "") {
return false;
} else {
$parents = get_category_parents($id, FALSE);
if($parents != "") {
return true;
} else {
return false;
}
}
}
?>
Fonksiyon ile Neler Yaptık ?
$category = get_the_category(); $id = $category[0]->cat_ID;
satırlarıyla, kategori id’sini aldık.
$control = get_category_children($id);
satırıyla, kategorinin alt kategorilerini bulmaya çalıştık.
if($control != "") {
return false;
}
satırlarıyla, eğer kategorinin alt kategori varsa false döndürmesini, yani sonuç döndürmemesini istedik.
$parents = get_category_parents($id, FALSE);
kodu ile, kategorinin üst kategorilerini (varsa) bir değişkene atadık.
if($parents != "") {
return true;
}
satırlarıyla, kategorinin üst kategorisi varsa yukarıda yaptığımız ilk kontrole dayanarak (yani alt kategorisi yoksa), true olarak yanıt göndermesini istedik. Yani sonuç döndürüyor.
else {
return false;
}
satırlarıyla da, hem alt kategorisi hem de üst kategorisi olmayan kategoriler için, false döndürülmesini istedik.
ÖRNEK: KODU NASIL KULLANIRIZ?
Bu kodu sitenizde ÅŸu ÅŸekilde kullanabilirsiniz:
sidebar.php yi açıp aşağıdaki kodu ekliyorsunuz:
<?php
if(is_subcat()) {
/* Eğer yazı alt kategori içindeyse gösterilecek içerik */
} else {
/* Eğer yazı alt kategori de değilse gösterilecek içerik */
}
?>
Yazıyı okuduğunuz için teşekkür ederim.
Yukarıdaki kodlar tamamen tarafımdan yazılmıştır

“WordPress Alt Kategori Kontrolü II” için 7 Yorum var
Merhabalar, yazınız çok güzel olmuÅŸ, teÅŸekkürler. Sormak istediÄŸim soru ÅŸu diyelimki bir yazının kategorisi alt kategori olarak iÅŸaretlenmiÅŸ, ben bu yazının title’ında yazı baÅŸlığı I alt kategori adı I üst kategori adı olarak nasıl yapabilirim?
güzel anlatım olmuş , ellerinize sağlık.
ArkadasLar yapan var mi ona Gore ugrasaLim.
Ben test ederek ekliyorum hepsini
http://www.wpuzmani.com/wordpress-ile-alt-kategori-kontrolu/
bu konu işinize yarayacaktır.
[php]<?php if(is_subcat($kategori_idsi)){ echo “altta kalanın canı çıksın”; } else { echo “altta kalan yok”; } ?>[/php]
ÅŸeklinde kullanabilirsiniz.
semih bey yazmış olduğunuz kodda şunu yapabiliyormuyuz .
alt kategorisi varsa (bunu yaz) yoksa (bunu yaz) yada nasıl yapabiliriz semih bey
teşekkürler