Опис
Перетворює кириличні символи в посиланнях записів, сторінок і рубрик в латинські. Корисно для створення URL-ів, що легко читаються людьми.
Особливості
- The only plugin with fully editable transliteration table. Allows add/remove and edit pairs like ‘Я’ => ‘Ya’, or even ‘Пиво’ => ‘Beer’
- Конвертує будь-яку кількість посилань існуючих записів, сторінок і термінів в фонових процесах
- Зберігає цілісність постійних посилань вже існуючих записів і сторінок
- Виконує транслітерацію назв файлів з вкладень
- Includes Russian, Belorussian, Ukrainian, Bulgarian, Macedonian, Serbian, Greek, Armenian, Georgian, Kazakh, Hebrew, and Chinese characters
- Has many advantages over similar plugins
- Officially compatible with WPML
Засновано на оригінальному плагіні Rus-To-Lat від Антона Скоробогатова.
Sponsored by Blackfire.
Plugin Support
Скріншоти
Встановлення
- Завантажте папку
cyr2lat
в директорію/wp-content/plugins/
. - Активуйте плагін на сторінці «Плагіни» в панелі управління WordPress.
Часті питання
-
Як призначити свої правила для заміни?
-
Додайте наступний код в
functions.php
файл вашої теми:/** * Modify conversion table. * * @param array $table Conversion table. * * @return array */ function my_ctl_table( $table ) { $table['Ъ'] = 'U'; $table['ъ'] = 'u'; return $table; } add_filter( 'ctl_table', 'my_ctl_table' );
-
How can I redefine non-standard locale?
-
Наприклад, якщо нестандартна мова є uk_UA, її можна перевизначити як
uk
додавши наступний код до файлу темиfunction.php
:/** * Use non-standard locale. * * @param string $locale Current locale. * * @return string */ function my_ctl_locale( $locale ) { if ( 'uk_UA' === $locale ) { return 'uk'; } return $locale; } add_filter( 'ctl_locale', 'my_ctl_locale' );
-
How can I define own transliteration of titles?
-
Add similar code to your theme’s
functions.php
file:/** * Filter title before sanitizing. * * @param string|false $result Sanitized title. * @param string $title Title. * * @return string|false */ function my_ctl_pre_sanitize_title( $result, $title ) { if ( 'пиво' === $title ) { return 'beer'; } return $result; } add_filter( 'ctl_pre_sanitize_title', 10, 2 );
-
How can I define own transliteration of filenames?
-
Add similar code to your theme’s
functions.php
file:/** * Filter filename before sanitizing. * * @param string|false $result Sanitized filename. * @param string $filename Title. * * @return string|false */ function my_ctl_pre_sanitize_filename( $result, $filename ) { if ( 'пиво' === $filename ) { return 'beer'; } return $result; } add_filter( 'ctl_pre_sanitize_filename', 10, 2 );
-
How can I limit post types for background conversion?
-
Add similar code to your theme’s
functions.php
file:/** * Filter post types allowed for background conversion. * * @param array $post_types Allowed post types. * * @return array */ function my_ctl_post_types( $post_types ) { return [ 'post' => 'post', 'page' => 'page', 'attachment' => 'attachment', 'product' => 'product', 'nav_menu_item' => 'nav_menu_item', ]; } add_filter( 'ctl_post_types', 'my_ctl_post_types' );
-
How can I convert many posts/terms using wp-cli?
-
Use the following command in the console:
wp cyr2lat regenerate [--post_type=<post_type>] [--post_status=<post_status>]
Де
-post_type список типів записів,
-post_status список статусів записів. -
How can I regenerate thumbnails safely?
-
Regeneration of thumbnails with the command
wp media regenerate
can break links in old posts as file names become transliterated.To avoid it, deactivate cyr2lat plugin during regeneration:
wp media regenerate --skip-plugins=cyr2lat
-
Чи можу я внести свій внесок?
-
Так, ви можете!
- Приєднуйтесь до нашого репозитарію GitHub
- Join in on our Telegram Group
Відгуки
Учасники та розробники
“Cyr-To-Lat” — проект з відкритим вихідним кодом. В розвиток плагіну внесли свій вклад наступні учасники:
Учасники“Cyr-To-Lat” було перекладено на 9 локалізацій. Дякуємо перекладачам за їх роботу.
Перекладіть “Cyr-To-Lat” на вашу мову.
Цікавитесь розробкою?
Перегляньте код, перегляньте сховище SVN або підпишіться на журнал розробки за допомогою RSS.
Журнал змін
5.4.0 (15.12.2022)
- Tested with WordPress 6.1 and WooCommerce 7.2.
- Added compatibility with WC High-Performance order storage (COT) feature.
5.3.0 (23.05.2022)
- Tested with WordPress 6.0 and WooCommerce 6.5.
5.2.7 (14.02.2022)
- Tested with WooCommerce 6.2.
- Added PHP 8.1 support.
5.2.6 (25.12.2021)
- Revert fix made in 5.2.5 for 404 with WPML, as it created several issues on the frontend.
- Fix again 404 on archives created with WPML before activation of cyr2lat.
5.2.5 (19.12.2021)
- Tested up to WordPress 5.9 and WooCommerce 6.0.
- Fix issue with Polylang – do not modify admin language when editing a post.
- Fix issue with JetPack – fatal error on synchronisation.
- Fix 404 on archives created with WPML before activation of cyr2lat.
5.2.4 (07.09.2021)
- Fix issue with not showing WooCommerce variable product attributes.
- Fix issue with Elementor and WPML, endless loop.
5.2.3 (07.09.2021)
- Fix issue with WP Foro plugin – transliterate topic slug when created on frontend.
- Fix bug with Polylang on REST request.
5.2.2 (06.09.2021)
- Fix issue caused by the bug in Jetpack sync.
- Optimize code related to WPML locale filtering.
- Fix endless loading of a taxonomy page with WPML.
- Fix ‘nothing found’ on a taxonomy page with WPML.
5.2.1 (29.07.2021)
- Determine WPML language only once to improve performance.
- Avoid notice on bad SQL request when taxonomies are empty.
5.2.0 (27.07.2021)
- Add support for categories and tags in other languages with wpml.
5.1.0 (19.07.2021)
- Fix issue-95 – 404 on localized terms created before plugin install.
- Add cache flushing after batch conversion.
- Tested with WordPress 5.8
5.0.4 (17.04.2021)
- Fix bug in converter without saved options
5.0.3 (03.04.2021)
- Add filter ‘ctl_locale’
- Fix translation of tabs on settings pages
- Fix registered post types in conversion settings
5.0.2 (27.03.2021)
- Fix bug creating tag with the same slug as category
5.0.1 (22.03.2021)
- Fix fatal error during plugin load on some servers
5.0.0 (18.03.2021)
- Introduce tabs on options page
- Add options to select post types and statuses for background conversion
- Make colors compatible to WP official palette
- Fix bug with Polylang when locale is not equal to language slug
4.6.4 (03.03.2021)
- Tested up to WordPress 5.7
4.6.3 (21.02.2021)
- Fix bug with attachment post type filtered by ‘ctl_post_types’
- Fix bug with background conversion of product attribute terms
4.6.2 (11.02.2021)
- Fix bug with non-existing function PLL().
4.6.1 (10.02.2021)
- Fix bug with Polylang
4.6.0 (10.02.2021)
- Add compatibility with Polylang
- Add confirmation popup before mass conversion of slugs
- Improve selection of posts and tags for conversion to avoid selection of excessive items for mass conversion
- Fix bug with redirection from the old slug to a new one after background slug conversion
- Fix js to run in old browsers like IE
4.5.2 (08.12.2020)
- Fix bug with the deployment to wp.org
4.5.1 (07.12.2020)
- Tested up to WordPress 5.6
- Tested on PHP 5.6 – 8.0
4.5.0 (18.05.2020)
- Added Greek and Armenian languages
- Added background conversion of attachments and thumbnails
- Fixed background conversion of existing slugs
4.4.0 (18.04.2020)
- Full flexibility to edit transliteration table: now it is possible to add/remove transliteration pairs on the settings page
- Ability to edit not only values in the transliteration table, but also keys
- Saving active table via ajax
- Watching changes in active table
- Auto-saving of changed table
- Info about the current locale on settings page
- Making table with current locale active at setting page load
- Chinese language added
- Fixed: slug not updated at woocommerce product duplication
4.3.5 (28.03.2020)
- Tested up to WordPress 5.4
- Fixed bug with disappearing of WooCommerce attributes
4.3.4 (22.02.2020)
- Fixed non-conversion of slugs with WPML
- Restricted conversion of post to public and nav_menu_item
- Introduced ctl_post_types filter
4.3.3 (20.02.2020)
- Reworked main plugin filter
- Improved performance by minimizing number of calls
- Updated Georgian table
- Fixed slug duplication in taxonomies
- Fixed warnings with WooCommerce when mbstring is not loaded
- Fixed transliteration of draft post slug
- Tables sorted by local alphabets
4.3.2 (29.12.2019)
- Fixed problems with setting of max_input_vars on some hostings
4.3.1 (27.12.2019)
- Added requirement to have max_input_vars >= 5000
- Added automatic plugin deactivation if requirements are not met
- Added attempt to auto-fix max_input_variable value
4.3 (14.12.2019)
- Added Chinese table
- Tested up to WordPress 5.3
- Tested up to PHP 7.4
- External library wp-background-processing scoped into own namespace to prevent errors in some cases
4.2.3 (29.08.2019)
- Scoped Symfony Mbstring polyfill to avoid problems with composer autoloader on some sites.
4.2.2 (28.08.2019)
- Added ACF (Advanced Custom Fields) plugin support
- Added Serbian table
- Added new filter
ctl_pre_sanitize_filename
- Fixed improper encoding of
Ё
,ё
,Й
,й
characters in file names on some Mac computers (old known problem on Mac’s)
4.2.1 (23.06.2019)
- Fixed problem with sessions
- Fixed message sequence for conversion of existing slugs.
- Added php version check to avoid fatal error on activation on old sites.
- Added vertical tabs in plugin settings.
4.2 (28.05.2019)
- Мінімально необхідна версія PHP піднята – до 5.6
- Додані тести phpunit для всіх версій php від 5.6 до 7.3
- Виправлено попередження php під час перетворення існуючих частин посилання
- Fixed locale selection during conversion of existing post slugs when WPML is activated
- Fixed bug with infinite redirection of some slugs after conversion of existing slugs
4.1.2 (22.05.2019)
- Виправлено фатальну помилку у Cyr_To_Lat_Converter з php 5.2
4.1.1 (22.05.2019)
- Виправлено фатальну помилку у Cyr_To_Lat_Converter з php 5.6
4.1 (21.05.2019)
- Додано таблицю he_IL
- Додано переклад плагіну на Українську
- Додано переклад плагіну на Шведську
- Додано тести phpunit. Всі класи плагіну покриті на 100%
- Додано js тести. Всі js коди плагіну покриті на 100%
- Виправлено помилку з Jetpack синхронізацією
- Виправлена помилка з порожніми слагом при використанні символів поза локаллю
4.0 (24.04.2019)
- Додано кнопку для конвертації існуючих посилань замість прапорця
- Додано адмін повідомлення при конвертації існуючих посилань
- Додано post_type і post_status параметри до wp-cli команди
- Виправлено текстовий домен
- Спрощений package.json для зменшення фінального js
- Додані phpunit тести в основний клас плагіну
- Доданий travis.yml для неперервної інтеграції GitHub, також покращено надійність коду
3.7 (12.04.2019)
- Додано Білоруську, Македонську і Казахську таблицю
- Виправлена помилка з MariaDB під час конвертації існуючих посилань
- Виправлено помилки при збереженні користувацьких змін в iso9 таблиці
3.6.5 (11.02.2019)
- Додані черги для фонового процесу конвертації посилань
3.6.4 (06.02.2019)
- Виправлено
_wp_old_slug
помилку при перенаправлені. - Виправлено
urldecode
помилку в записах.
3.6.3 (04.02.2019)
- Виправлено помилку при активації у мережі мультисайту
3.6.2 (01.02.2019)
- Переміщено меню у розділ налаштувань
- Виправлений текстовий домен.
3.6.1 (31.01.2019)
- Текстовий домен скоректований.
3.6 (31.01.2019)
- Додано сторінку налаштувань для плагіну.
- Сторінка налаштувань дозволяє користувачам редагувати таблицю конвертацій онлайн.
- Код конвертовано в ООП.
- Код адаптовано відповідно до WordPress стандартів.
- JS розроблена відповідно до ECMA-6 стандарту.
- Сторінка налаштувань працює навіть з вимкнутим в браузері JS.
- Додані composer і yarn.
- Додані ресурси (банер, іконка, адміністративна іконка).
3.4 (21.01.2019)
- Протестовано до WP 5.1
- Форматування коду згідно WPCS стандартам.
- Сувора відповідність.
- Видалено {} з MySQL запитів для додання можливості перевірки імені таблиць в PhpStorm.
- Оновлено .gitignore та README.md
- Додано новий фільтр
ctl_pre_sanitize_title
3.3 (18.01.2019)
- wpcs 1.0
- Виправлено багато помилок
- Додано Gutenberg підтримку
3.2
- Додано транслітерацію при публікації через XML-RPC
- Виправлено помилку “Невірна Таксономія” при перегляді більш використовуваних позначок
3.1
- Виправлено транслітерацію під час збереження чернетки
3.0
- Додано автоматичну конвертацію посилань для існуючих записів, сторінок і термінів таксономій
- Додано збереження існуючих записів та інтеграція постійних посилань сторінок
- Додано траслітерацію для імен завантажень
- Покращено таблицю транслітерацій відповідно до ISO 9 стандартів
- Включає українські, російські, болгарські і грецькі символи
- Додано фільтр для таблиці транслітерації
2.1
- Оптимізовано виклик фільтрів
2.0
- Додано перевірку для існуючих таксономій
1.0.1
- Оновлено опис
1.0
- Реліз першої версії плагіну.