Öncelikle merhabalar,
Bir sitem var ve sitede kategorileri kısa tutmak için bazı yöntemler arıyordum ve sonunda buradaki(http://www.yakuphoca.com/varsayilan-...-ozellestirme/) makaleyi buldum. Sistemde küçük bir hata var. Örneğin ana kategoriye tıkladığımda o kategoriye gidiyorum; fakat diğer kategorilerde de alt kategoriler açılıyor. Bir kategoriye tıkladığımda o kategorinin alt kategorilerinin açılmasını istiyorum. Diğer kategorilerin alt kategorilerinin açılmasını istemiyorum. Kodlar aşağıdaki gibidir. Yardımlarınız için şimdiden teşekkürler.
function yakuphoca_kategori_bilesen_basligi_kontrol($title, $instance, $idbase) {
 if ( $idbase == 'categories' ) {
   global $yh_kategori_baslik;
   
   $yh_kategori_baslik = '';
  //Aktif kategorinin alt kategorilerini listeler
   if ( strpos($title, 'aktifkat') !== false )  {
     $yh_kategori_baslik = $title;
	 $aktifkat = get_category(get_query_var('cat'));
	 if ( $aktifkat->term_id ) {
	    //Kategorinin alt kategorileri var mı?
		$children = get_terms( $aktifkat->taxonomy, array(
		'parent'    => $aktifkat->term_id,
		'hide_empty' => 1 //yazısı olmayan kategorileri kontrol etme
		) );
		if($children) { 
		  // alt kategorileri varsa aktif kategorinin adını başlık olarak yazdırılmasını sağla
		  return $aktifkat->name;
  	      //aktif kategorinin adını başlık olarak belirler ancak isterseniz
	      //return $aktifkat->name . ' Kategorisi';
	      //ya da return $aktifkat->name . ' Sezonları'; şeklinde farklı başlıklar oluşturabilirsiniz
		}else{
		  $title = 'altkat_'. $aktifkat->parent;
		  //Eğer aktif kategorinin alt kategorileri yoksa
		  //aktif kategorinin ana kategorisinin alt kategorilerini gösterir
		}
     }else{
	    $varsayilan = explode("_", trim($title));
		if ($varsayilan[1] == '0') {
		   $title = 'anakat';
		   //bileşen başlığı için anakat_bileşen başlığı şeklinde yazın
		}else{
	       $title = 'altkat_' . $varsayilan[1];
	   //eğer aktif bir kategori yoksa yani anasayfa görüntüleniyorsa
	   //aktifkat_xx şeklinde belirttiğiniz alt kategoriyi gösterir
	    }
     }	 
   }

   //Sadece Ana Kategorileri Göstermesini sağla
   //Bileşen başlığı için anakat_bileşen başlığı yazın
   if ( strpos($title, 'anakat') !== false ) {
     $yh_kategori_baslik = 'anakat';
	 //anakat_bileşen başlığı şeklinde belirtilmişse
     $baslik = explode("_", trim($title));
	 if ($baslik[1]) {
	   return $baslik[1];
	 }else{
	   return 'Kategoriler';
	 }
   }

    //altkat_15 Şeklindeki Başlık İçin
   //15 nolu kategorinin alt kategorilerini listeler
   if ( strpos($title, 'altkat') !== false ) {
     $yh_kategori_baslik = $title;
     $altkategori = explode("_", trim($title));
	 $kategori = get_category($altkategori[1]);
     return $kategori->name;
   }  
 }
 return $title;
}
add_filter('widget_title', 'yakuphoca_kategori_bilesen_basligi_kontrol', 10, 3);

function yakuphoca_kategorileri_ozellestir($args) {
 global  $yh_kategori_baslik;
 if ( $yh_kategori_baslik ) {
  if ( $yh_kategori_baslik == 'anakat' ) {
     $args['parent'] = 0;
     //Sadece ana kategorileri göster
  }
  if ( strpos($yh_kategori_baslik, 'aktifkat') !== false ) {
	 $aktifkat = get_category(get_query_var('cat'));
	 if ( $aktifkat->term_id ) $args['child_of'] = $aktifkat->term_id;
	 //Aktif kategorinin alt kategorilerini göster
	 
  }
  if ( strpos($yh_kategori_baslik, 'altkat') !== false ) {
   //altkat_xx şeklinde verilen xx ID'li kategorinin birincil kategorilerini göster
   $altkategori = explode("_", trim($yh_kategori_baslik));
   $kategori = get_category($altkategori[1]);
   $args['child_of'] = $kategori->term_id;
   $args['depth'] = 1;
  }
 }

 return $args;
}
add_filter('widget_categories_args', 'yakuphoca_kategorileri_ozellestir');