Simple Tagging 1.5 Eklentisine Türkçe Karakter Desteği

Geçenlerde aynı eklentinin 1.3 sürümü için Türkçe karakter desteğinin uygulanmasını anlatmıştım. O yazının üstüne eklenti yazarına yamayı bildirmiştim ve o yamalardan tekini yeni sürüme kazandıracağını söylemişti. Bunun üstüne boşlukların _ karakteri yerine – karakteri ile de tanımlanabilmesi yeni sürüme eklenmiş oldu. Fakat hala Türkçe karakterler tarayıcı üstünde sıkıntı yaşatıyor. Ben az önce 1.5 sürümünü siteye yükledim ve gerekli kod değişikliklerini eklentiye uyguladım. Yapmanız gereken yine bu yazıda.

simpletagging.php dosyasını açın.

function tag_name2url($tag_name) {
if ($this->option['usehyphen']) {
$tag_name = str_replace(' ', '-', $tag_name);
} else {
$tag_name = str_replace(' ', '_', $tag_name); // urlencode converts space ' ' into +. We wanna use _ instead
}

$tag_name = urlencode($tag_name);
$tag_name = str_replace('%2F', '/', $tag_name); // seems that Apache's mod_rewrite are unable to handle urlencoded URLs properly
$tag_name = str_replace('%2B', '+', $tag_name); // seems that Apache's mod_rewrite are unable to handle urlencoded URLs properly
$tag_name = str_replace('%20', '_', $tag_name); // seems that Apache's mod_rewrite are unable to handle urlencoded URLs properly

return $tag_name;
}

kodlarını bulun ve alttaki ile değiştirin.

function tag_name2url($tag_name) {
if ($this->option['usehyphen']) {
$tag_name = str_replace(' ', '-', $tag_name);
} else {
$tag_name = str_replace(' ', '_', $tag_name); // urlencode converts space ' ' into +. We wanna use _ instead
}
#dmry_yama
/* Orijinal kod başla
$tag_name = urlencode($tag_name);
$tag_name = str_replace('%2F', '/', $tag_name); // seems that Apache's mod_rewrite are unable to handle urlencoded URLs properly
$tag_name = str_replace('%2B', '+', $tag_name); // seems that Apache's mod_rewrite are unable to handle urlencoded URLs properly
$tag_name = str_replace('%20', '_', $tag_name); // seems that Apache's mod_rewrite are unable to handle urlencoded URLs properly
Orijinal kod son */
#dmry_yama
#dmry_yama
$tag_name = sanitize_title($tag_name);
#dmry_yama
return $tag_name;
}

Evet yama bu kadar.

Eklenti yazarının bu yamayı uygulamak istememesiniz nedeni ise şöyle. “Günlük” etiketi “gunluk” formatına çevrildikten sonra bu etiket veritabanında aranacağı zaman “günlük, günluk, gunlük” gibi 3 farklı şekilde aratılarak sonuca ulaşılması ve bu nedenle ikinci bir kelime ile karıştırılabileceği. O da haklı tabi bir yanda 🙂