Cyr-To-Lat

Описание

Converts Cyrillic characters in post, page and term slugs to Latin characters. Useful for creating human-readable URLs.

Features

  • Converts any number of existing post, page and term slugs in background processes
  • Saves existing post and page permalinks integrity
  • Performs transliteration of attachment file names
  • Includes Russian, Belorussian, Ukrainian, Bulgarian, Macedonian, Serbian, Georgian, Kazakh, and Hebrew characters
  • Transliteration table can be customized without editing the plugin by itself
  • Officially compatible with WPML

Based on the original Rus-To-Lat plugin by Anton Skorobogatov.

Снимки на разширението

Инсталиране

  1. Upload cyr2lat folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.

ЧЗВ

How can I define my own substitutions?

Add this code to your theme’s functions.php file:

`

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’ );
`

How can I redefine non-standard locale ?

For instance, if your non-standard locale is uk_UA, you can redefine it to uk by adding the following code to your theme’s function.php file:

`

/**
* Use conversion table for non-standard locale.
*
* @param array $table Conversion table.
*
* @return array
*/
function my_ctl_table( $table ) {
if ( ‘uk_UA’ === get_locale() ) {
$settings = new Cyr_To_Lat_Settings();
$table = $settings->get_option( ‘uk’ );
}

return $table;

}

add_filter( ‘ctl_table’, ‘my_ctl_table’ );
`

How can I convert a large number of posts/terms using wp-cli?

Use the following command in console:

`

wp cyr2lat regenerate [–post_type=] [–post_status=]
`

Where
-post_type is list of post types,
-post_status is list of post statuses.

Can I contribute?

Yes you can!

Отзиви

19.07.2019
поставил сначала другой, но перестали работать старые ссылки с адресами на кириллице. Этот плагин беспредела не творит - все работает пока нормально.
Прочетете всички 36 отзива

Сътрудници и разработчици

“Cyr-To-Lat” е софтуер с отворен код. Към разширението са допринесли следните хора.

Сътрудници

“Cyr-To-Lat” е преведено на 3 езика. Благодарности на преводачите за техния принос.

Превеждане на “Cyr-To-Lat” на вашия език.

Имате интерес към разработване?

Преглеждане на кода, разглеждане на SVN хранилище, или абонамент към програмната история (log) чрез RSS.

Списък с промени

4.2.3 (29.08.2019)

  • Scoped Symfony 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)

  • Bumped up required php version – to 5.6
  • Added phpunit tests for all php versions from 5.6 to 7.3
  • Fixed php warning during conversion of existing slugs
  • 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)

  • Fixed bug with fatal error in Cyr_To_Lat_Converter with php 5.2

4.1.1 (22.05.2019)

  • Fixed bug with fatal error in Cyr_To_Lat_Converter with php 5.6

4.1 (21.05.2019)

  • Added he_IL Table
  • Added plugin translation to Ukrainian
  • Added plugin translation to Swedish
  • Added phpunit tests. All plugin classes are 100% covered
  • Added js tests. All plugin js code is 100% covered
  • Fixed bug with Jetpack sync
  • Fixed empty slug bug while using characters outside of locale

4.0 (24.04.2019)

  • Added button to convert existing slugs, instead of checkbox
  • Added admin notices during conversion of existing slugs
  • Added post_type and post_status parameters to wp-cli command
  • Fixed text domain
  • Simplified package.json to make final js even smaller
  • Added phpunit tests to the plugin main class
  • Added travis.yml for continuous integration on GitHub, and improvement of code reliability

3.7 (12.04.2019)

  • Added Belorussian, Macedonian, Kazakh tables
  • Fixed bug with MariaDB during old slug conversion
  • Fixed not saving of user modifications in default iso9 table

3.6.5 (11.02.2019)

  • Added queues for background slug conversion process

3.6.4 (06.02.2019)

  • Fixed bug with _wp_old_slug redirect.
  • Fixed bug with urldecode in posts.

3.6.3 (04.02.2019)

  • Fixed bug with network activation on multisite

3.6.2 (01.02.2019)

  • Moved the menu in the settings section
  • Text domain fixup.

3.6.1 (31.01.2019)

  • Text domain corrected.

3.6 (31.01.2019)

  • Plugin settings page added.
  • Settings page allows user to edit conversion tables online.
  • Code converted to OOP.
  • Code refactored to conform WordPress Coding Standards.
  • JS developed according to ECMA-6 script standards.
  • Settings page also works if JS is switched off in the browser.
  • Composer and yarn added.
  • Assets (banner, icon, admin icon) are added.

3.4 (21.01.2019)

  • Tested up to WP 5.1
  • Code formatting to follow WPCS.
  • Strict comparisons.
  • Braces {} removed from MySQL statements to allow checking of table names in PhpStorm.
  • Updated .gitignore and README.md
  • Added new filter ctl_pre_sanitize_title

3.3 (18.01.2019)

  • wpcs 1.0
  • Fixed many bugs
  • Added Gutenberg support

3.2

  • Added transliteration when publishing via XML-RPC
  • Fixed Invalid Taxonomy error when viewing the most used tags

3.1

  • Fixed transliteration when saving a draft

3.0

  • Added automatic conversion of existing post, page and term slugs
  • Added saving of existing post and page permalinks integrity
  • Added transliteration of attachment file names
  • Adjusted transliteration table in accordance with ISO 9 standard
  • Included Russian, Ukrainian, Bulgarian and Georgian characters
  • Added filter for the transliteration table

2.1

  • Optimized filter call

2.0

  • Added check for existing terms

1.0.1

  • Updated description

1.0

  • Initial release