Yüklenen dosyalardaki Türkçe karakter problemi çözümü
Bilgiğim kadarıyla Internet Explorer haricinde bu Türkçe karakterli resim dosyası olayına takılan bir tarayıcı yok. WordPress içerisine yüklediğimiz dosyalardaki isimleri değiştirmemekte. IE her zamanki gibi bunda sorun çıkartmakta (IE10 test etmedim birşey diyemem) ve özellikle resimleri göstermemekte. Aşağıda size aktaracağım fonksiyon bu sorunu hallediyor ve dosya adında bulunan Türkçe karakterleri temizleyerek WordPress dizinine ekliyor.
Aşağıda iki adet resim var. Bunlar fonksiyonun öncesi ve sonrasını göstermek için eklediğim resimler.
Türkçe karakter çözümü;
Kod basit olarak str_replace fonksiyonuyla WordPress’in yükleme öncesi eklenen dosya isminde değişiklik yapmasını sağlıyor. Kodu her zamanki gibi temanızın functions.php
dosyasına ekliyorsunuz.?>
işaretinden hemen önce.
add_filter( 'wp_handle_upload_prefilter', 'dosya_tr_karakter_degistir' );
function dosya_tr_karakter_degistir( $file )
{
$bul = array('İ','Ü','Ğ','Ö','Ç','Ş','ş','ç','ö','ğ','ü','ı');
$degistir = array('I','U','G','O','C','S','s','c','o','g','u','i');
$file['name'] = str_replace($bul,$degistir,$file['name']);
return $file;
}
Sonucu aşağıdaki resimlerde ve kendi sitenizde deneyerek görebilirsiniz.
Selametle
Ben de IE ile ilgili zannediyordum bu problemi ama sadece tarayıcı değil host ile ilgili de olabiliyor.
Chrome üzerinde sorunsuz gözüken sitemi farklı bir host'a taşıdığımda Türkçe karakter içeren resimler gözükmemeye başladı.
Host ayarlarında ne kadar esneklik tanındığı ile ilgili olsa gerek.