Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I was opened this idea 7 months ago:
http://wordpress.org/extend/ideas/topic/non-latin-characters-need-love
Still i couldnt find a solution for it.

Simply what i want?
Want to use "şŞ İı Ğğ Üü Öö çÇ" turkish characters in permalinks / slugs.

share|improve this question
    
Do you want to replace Ş with S or should the permalink contain Ş literally? –  hakre Oct 26 '10 at 9:28
    
want to use "ş" in permalink –  Ünsal Korkmaz Oct 26 '10 at 16:39
    
I created plugin for this: wordpress.org/plugins/wordpress-turkce –  Ünsal Korkmaz Dec 31 '13 at 15:50
add comment

1 Answer 1

up vote 1 down vote accepted

You must go about the language functions-interface. See my example for german users: http://wordpress-buch.bueltge.de/wp-content/uploads/2010/05/de_DE.phps We must also build differences on the permalinks for aour charachters in our language

    /* define it global */
    $umlaut_chars['in']    = array( chr(196), chr(228), chr(214), chr(246), chr(220), chr(252), chr(223) );
    $umlaut_chars['ecto']  = array( 'Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü', 'ß' );
    $umlaut_chars['html']  = array( 'Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü', 'ß' );
    $umlaut_chars['feed']  = array( 'Ä', 'ä', 'Ö', 'ö', 'Ü', 'ü', 'ß' );
    $umlaut_chars['utf8']  = array( utf8_encode( 'Ä' ), utf8_encode( 'ä' ), utf8_encode( 'Ö' ), utf8_encode( 'ö' ),utf8_encode( 'Ü' ), utf8_encode( 'ü' ), utf8_encode( 'ß' ) );
    $umlaut_chars['perma'] = array( 'Ae', 'ae', 'Oe', 'oe', 'Ue', 'ue', 'ss' );

    /* sanitizes the titles to get qualified german permalinks with  correct transliteration */
    function de_DE_umlaut_permalinks($title) {
        global $umlaut_chars;

        if ( seems_utf8($title) ) {
            $invalid_latin_chars = array( chr(197).chr(146) => 'OE', chr(197).chr(147) => 'oe', chr(197).chr(160) => 'S', chr(197).chr(189) => 'Z', chr(197).chr(161) => 's', chr(197).chr(190) => 'z', chr(226).chr(130).chr(172) => 'E' );
            $title = utf8_decode( strtr($title, $invalid_latin_chars) );
        }

        $title = str_replace($umlaut_chars['ecto'], $umlaut_chars['perma'], $title );
        $title = str_replace($umlaut_chars['in'], $umlaut_chars['perma'], $title );
        $title = str_replace($umlaut_chars['html'], $umlaut_chars['perma'], $title );
        $title = sanitize_title_with_dashes($title);

        return $title;
    }
add_filter( 'sanitize_title', 'de_DE_umlaut_permalinks' );
share|improve this answer
    
For those concerned to provide a patch for wordpress core, a related ticket is core.trac.wordpress.org/ticket/9591 –  hakre Oct 26 '10 at 10:15
    
sorry for late response but i think i couldnt explain my problem. I want to use "şŞ İı Ğğ Üü Öö çÇ" chars in permalinks. –  Ünsal Korkmaz Oct 29 '10 at 1:10
    
An example.. "примерно" you can use these russian chars in permalinks but "şŞ İı Ğğ Üü Öö çÇ" becoming "ss-ii-gg-uu-oo-cc" –  Ünsal Korkmaz Oct 29 '10 at 1:11
    
i write some info about this on: core.trac.wordpress.org/ticket/10249#comment:36 –  Ünsal Korkmaz Oct 29 '10 at 1:59
    
well.. after some tries i found a solution but need core edit so i opened a ticket about putting a new filter probably. ticket is: core.trac.wordpress.org/ticket/15248 –  Ünsal Korkmaz Oct 29 '10 at 4:10
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.