Benim bildiğim

if(!get_cat_ID($isim)): 

$kat_id=wp_create_category($isim);  

endif; 

if(get_cat_ID($isim)): 

$kat_id=get_cat_ID($isim); 

endif;
Buna gerek yok zaten wp_create_category o isimde bir kategori varsa oluşturmaz. Direk kategori ID'yi verir.

Direk o şekilde kullanıp dene bakalım birde hata verirse preg_match'da sıkıntı vardır