Bu sitedeki her şey Sevgi ile kodlanmıştır.

Kategori Listesini Göster

WordPress Permalink Yapısından Özel Karakterleri Temizleyelim


FacebookTwitterPinterestTumblrYazdır


WordPress Permalink Yapısından Özel Karakterleri TemizleyelimWordPress'te yazı yazarken, yazı başlığını yazdığınız zaman otomatik olarak permalink (kalıcı bağlantı) yapısı da güncellenir. Ancak permalink yapısının özel karakterler, emojiler veya yabancı dil içeren harfler içermemesini isteyebilirsiniz. Ayrıca tırnak işaretleri gibi karakterlerin kalıcı bağlantıda yer almaması da, SEO açısından faydalı denilebilir. Peki, bu işlemi nasıl otomatik yapabiliriz? Aşağıdaki kodları, temanızın functions.php dosyası içerisine eklemeniz bu yönde yeterli olacaktır. Permalink içerisinde İngilizce ve Türkçe harfler haricinde, harf veya özel karakterler kalıcı bağlantı yapısında çıkmayacaktır. Kodlar, eski yazılarınıza ait kalıcı bağlantı yapısını da etkilemeyecektir.

AYRICA: WordPress Sabit Yazıdan İlk Görseli Kaldıralım

WordPress Permalink Yapısından Özel Karakterleri Temizleyelim

remove_filter( 'sanitize_title', 'sanitize_title_with_dashes');
function allow_accented_characters_permalinks( $title, $raw_title, $context ) {
if ( $context == 'save' ){
$filter1 = str_replace(" ", "-", $raw_title);
$filter2 = mb_strtolower($filter1);
return rawurlencode($filter2);
}else{
$newTitle = str_replace(" ", "-", $title);
return mb_strtolower($newTitle);
}
}
add_filter( 'sanitize_title', 'allow_accented_characters_permalinks', 9, 3 );
function url_sanitizer($str)
{
static $charset = null;
if(is_null($charset)) $charset = get_option('blog_charset');
$sep = '-';
$chars = array
(
'Ç' => 'c', 'ç' => 'c', 'Ğ' => 'g', 'ğ' => 'g',
'ı' => 'i', 'İ' => 'i', 'Ö' => 'o', 'ö' => 'o',
'Ş' => 's', 'ş' => 's', 'Ü' => 'u', 'ü' => 'u',
'â' => 'a', 'é' => 'e', 'î' => 'i', 'û' => 'u'
);
if(!function_exists('mb_strtolower')) $str = strtolower($str);
else $str = mb_strtolower($str, $charset);
$str = trim(strip_tags(urldecode($str)));
foreach ($chars as $no => $yes) $str = str_replace($no, $yes, $str);
$str = preg_replace('/[^a-z0-9' . implode('', $chars) . ']/ui', ' ', $str);
$str = preg_replace('/\s+/', $sep , str_replace('+', ' ', $str));
$str = preg_replace("/(^$sep|$sep$)/", '', str_replace(' ', $sep, $str));
return $str;
}
if(is_admin()) add_filter('sanitize_title', 'url_sanitizer');


  1. Yorum bulunmamaktadır.

Bu yazıya yorum göndermek ister misiniz?

Dikkat: Her yorum gönderen kişi, kendi gönderdiği yorumdan sorumlu olmaktadır.
Not: Yazı ile herhangi bir ilgisi bulunmayan yorumların onaylanmadığını belirtmek isteriz.
Yazı Etiketleri
Yukarı Çık