nsalkorkmaz
  • 0
Эксперт

Нелатинские символы в постоянных ссылках

  • 0

Я открыл эту идею 7 месяцев назад:

http://wordpress.org/extend/ideas/topic/non-latin-characters-need-love

Тем не менее я не мог найти для нее решения.

Просто то, что я хочу?

Хотите использовать турецкие символы «ÅŸÅž İı Ğğ Üü Öö çÇ» в постоянных ссылках/слагах.

Share
  1. Вы хотите заменить Åž на S или постоянная ссылка должна содержать Åž буквально?

    • 0
  2. Вы должны перейти к языковым функциям-интерфейсу. См. мой пример для немецких пользователей: http://wordpress-buch.bueltge.de/wp-content/uploads/2010/05/de_DE.phps Мы также должны создавать различия в постоянных ссылках для наших персонажей на нашем языке.

        /* 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' );
    
    • 0

Оставить ответ

You must login to add an answer.