Hocam geç oldu biraz ama kusura bakmayın.
function addFile($tip,$dosya) {
if($tip == 'js') {
return '<script type="text/javascript" src="'.$dosya.'"></script>';
}
.
.
.
//burada diğer tipler kontrol edilip ona göre işlem yapılır
}addFile fonksiyonunun içeriğinin yukarıdaki gibi olduğunu varsayarsak, senin yaptığın mantıkla defer='defer' kısmıda src kısmına yazılacağı için js dosyasını çekemeyecektir.
function addFile($tip,$dosya,$ek='') {
if($tip == 'js') {
return '<script type="text/javascript" src="'.$dosya.'" '.$ek.'></script>';
}
.
.
.
//burada diğer tipler kontrol edilip ona göre işlem yapılır
}addFile fonksiyonunu üstteki gibi düzenleyebilirseniz yada kendinizce farklı mantık oluşturabilirsiniz, $ek parametresi yerine defer="defer" gönderirsiniz sorununuz çözülmüş olur.
Umarım faydalı olur.