WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was opened this idea 7 months ago:
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
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

Your Answer


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.