4 Haziran 2019 Salı

Wp Resimleri Yüklerken Türkçe Karakteri Çevirme

WordPress’de türkçe karakterli resim upload edildiğinde bu türkçe karakterler bozulmakta ve seo açısından bizim için olumsuz bir durumm ortay çıkmakta. Sadece seo değil aynı zamanda sitemizi başka sunuculara taşıdığımızda bu türkçe karakterli resimler taşınma sonrasında bulunamadı hatası vermekte.

Bunu sağlayabilmek için ufak bir fonksiyon yeterli oluyor. Yaptığı iş çok basit, sitenizdeki her imajı tek tek bulup içerisine yazınıza ait başlığı yerleştirmek. Böylelikle arama sorgularınızda imajlarınız da çıkmaya başlayabilir.
Aşağıda size aktaracağım kodları temanızın functions.php dosyasına eklemeniz gerekmekte. Bu dosya wp-content/themes/temanizin-adi yolunda bulunur. Lütfen işleme başlamadan önce bu dosyanın yedeğini alınız.

Kod;

Aşağıdaki kodu temanıza ait functions.php dosyasında bulunan en sondaki ?> etiketinden önce ekleyiniz.
add_filter( 'sanitize_file_name', 't5_sanitize_filename', 10 );

function t5_sanitize_filename( $filename )
{
    $filename    = html_entity_decode( $filename, ENT_QUOTES, 'utf-8' );
    $filename    = t5_translit( $filename );
    $filename    = t5_lower_ascii( $filename );
    $filename    = t5_remove_doubles( $filename );
    return $filename;
}


function t5_lower_ascii( $str )
{
    $str     = strtolower( $str );
    $regex   = array(
        'pattern'        => '~([^a-z\d_.-])~'
        , 'replacement'  => ''
    );

    return preg_replace( $regex['pattern'], $regex['replacement'], $str );
}


function t5_remove_doubles( $str )
{
    $regex = apply_filters(
            'germanix_remove_doubles_regex'
            , array(
                'pattern'        => '~([=+.-])\\1+~'
                , 'replacement'  => "\\1"
            )
    );
    return preg_replace( $regex['pattern'], $regex['replacement'], $str );
}    


function t5_translit( $str )
{
    $utf8 = array(
          'Ç'    => 'C'
        , 'ç'    => 'c'
        , 'ğ'    => 'g'
        , 'Ğ'    => 'G'
        , 'ı'    => 'i'
        , 'I'    => 'I' 
        , 'Ö'    => 'O'
        , 'ö'    => 'o'
        , 'ş'    => 's'
        , 'Ş'    => 'S'
        , 'Ü'    => 'U'
        , 'ü'    => 'u'
      
    );

    $str = strtr( $str, $utf8 );
    return trim( $str, '-' );
}  

0 yorum:

Yorum Gönder