Бесплатный плагин Cyr To Lat - отличное решение для формирования постоянных ссылок на WordPress-сайте.
Зачем нужен
Дополнение преобразует кириллические символы в латинские в ярлыках (URL-ссылках) записей, страниц, терминов, а также в именах файлов вложений. Пригодится для создания удобочитаемых URL-адресов.
Например, вы создали запись с заголовком "Как в лесу насобирать много грибов". WordPress с русской локализацией для нее создаст следующий URL-ярлык:
как-в-лесу-насобирать-много-грибов
Плагин преобразует это название так:
kak-v-lesu-nasobirat-mnogo-gribov
Если вы загрузите через Медиабиблиотеку файл с названием белый-гриб.jpg, то в итоге его название будет belyj-grib.jpg.
Включает русские, белорусские, украинские, болгарские, македонские, грузинские и казахские символы.
Таблицу транслитерации можно выбрать на странице настроек плагина.
Установка
1. В админ-панели перейдите Плагины > Добавить новый и в строке поиска впишите название дополнения.
2. В найденной карточке нажмите по очереди кнопки Установить и Активировать.
Настройка
Чтобы настроить расширение, откройте админ-раздел Настройки > Cyr to Lat.
Выбор таблицы транслитерации
Вы можете выбрать таблицу транслитерации, по которой плагин будет заменять. Также можно назначить соответствие для каждого кириллического символа.
Транслитерация загруженных ранее ссылок и файлов
По умолчанию плагин переводит символы в названиях файлов и публикаций, которые будут созданы/загружены после его активации. Но что делать со старыми постами и файлами? Для этого нажмите кнопку Конвертировать существующие ярлыки. Дополнение просканирует все публикации и автоматически выполнит замену, согласно выбранной таблице. К сожалению, с именами файлов эта операция не работает.
В новом редакторе Gutenberg замена ЧПУ будет произведена после того, как вы нажмете кнопки Сохранить или Опубликовать.
Как создать свою таблицу транслитерации?
Для этого в самый конец файла functions.php активной WordPress-темы добавьте код:
function my_cyr_to_lat_table( $ctl_table ) {
$ctl_table['Ъ'] = 'U';
$ctl_table['ъ'] = 'u';
return $ctl_table;
}
add_filter( 'ctl_table', 'my_cyr_to_lat_table' );
В коде измените символы на нужные вам.