WordPress Alt Kategorileri Göstermek

Cenk abim sağolsun 🙂 kategorilerde alt kategorileri otomatik gösterme kodunu o buldu aslında, çünkü ben hem ingilizce hemde php özürlü olduğum için böyle şeyleri pek bulamıyorum, ama yakında nasipse bir php kursuna gidebilirim ozaman istediğim şeyleri yapabilicem gibime geliyor, neyse konuya geçecek olursam, genelde wordpress’te bir kategoriye girdiğimizde alt kategorilerini görmek isteriz veya bir yazıya girdiğimizde o yazının ana kategorisinin kaçtane alt kategorisi var bunlarıda görmek isteyebiliriz, şahsen ben manul olarak kod koyuyordum yani kategori id’si 5 ise alt kategorilerini göster gibi, ama aşağı yazacağım kod sayesinde eğer o kategorinin alt kategorisi varsa göstericek yoksa göstermiyecek kısacası otomatik gelecek.

Kategoriler’e bağlı alt kategorileri görmek isterseniz, kategori sayfasda alt kategorilerin nerede görünmesini istiyorsanız şu kodu koyuyorsunuz;

<?php
if (is_category()) {
$this_category = get_category($cat);
}
if($this_category->category_parent)
$this_category = wp_list_categories('orderby=id&title_li=&child_of='.$this_category->category_parent."&echo=0"); else
$this_category = wp_list_categories('orderby=id&title_li=&child_of='.$this_category->cat_ID."&echo=0");
if ($this_category) { ?>
<ul>
<?php echo $this_category; ?>
</ul>
<?php } ?>

Eğer yazılarınızda, solda veya sol sidebarda o yazının alt kategorilerini görmek istersiniz belki onun içinde, single.php sayfasında veya sidebar.php’de aşağıdaki kodu istediğiniz bir yere koyabilirsiniz;

<?php
$category = get_the_category();
$parent = get_cat_name($category[0]->category_parent);                
function get_category_id($cat_name){
$term = get_term_by('name', $cat_name, 'category');
return $term->term_id;
}                
$category_ID = get_category_id($parent);                
$kural = array('child_of' => $category_ID,);
$categories=  get_categories($kural); 
foreach ($categories as $category) {
print '<li><a href="' . get_category_link( $category->term_id ) . '">'.$category->cat_name.'</a></li>';
}
?>