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