Kodlama çok kötü şu şekilde çalışır hale getirdim;
<?php
function kat_konulari($kat_adi, $konusayisi) {
	global $find; //Scriptin içinde tanımladın varsayıyorum
	global $replace; //Scriptin içinde tanımladın varsayıyorum
	$katSQL = mysql_query("SELECT * FROM yazilar WHERE kategori='$kat_adi' ORDER BY id DESC LIMIT $konusayisi") or die(mysql_error());
	while ($rowK = mysql_fetch_array($katSQL)) {
		?>
<li><h3> <a href="<?php echo $rowK['id']; ?>-<?php echo str_replace($find, $replace, $rowK['baslik']); ?>.html "><?php echo $rowK['baslik']; ?></a> </h3></li> 
<?php		
	}
}
kat_konulari("haberler", 5);  //Kullanım
Yukarda $tum_alanlar_Kategori_konulari demişssin o çalışmaz o şekilde sonucu 5 verir cünkü limit koyulmuş, onu çaliştirmak için yeni bir sorgu gerekir.