hocam p fonksiyonunuzun içierisinde ne var bilmiyorum ama if(!$kategori_adi) kısmını if($kategori_adi == '') şeklinde değiştirin.
function minimize($text)
{
$tr = array('ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç','ş','Ş','ı','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç');
$eng = array('s','s','i','i','g','g','u','u','o','o','c','c','s','s','i','i','g','g','u','u','o','o','c','c');
$text = str_replace($tr,$eng,$text);
$text = strtolower(trim($text));
$text = preg_replace('/&.+?;/', '', $text);
$text = preg_replace('/[^%a-z0-9 _-]/', '', $text);
$text = preg_replace('/\s+/', '-', $text);
$text = preg_replace('|-+|', '-', $text);
return $text;
}ben bu şekilde kullanıyorum. şimdiye kadar sorun yaşamadım. bide bu şekilde deneyin isterseniz.