• Главная
  • Карта сайта
Не найдено

Плагин Cyr-To-Lat - замена Rus-To-Lat и расширенные функции

Опубликовано: 05.09.2018

Плагин Cyr-To-Lat разработан для транслитерации кириллических символов в ссылках в латинские символы. Хотя я всегда пользовался плагином Rus-To-Lat, и даже не подозревал, что есть более интересный и более лёгкий функционал для этих, необходимых каждому блогеру, целей. Плагин Cyr-To-Lat имеет несколько функций, которых нет в Rus-To-Lat. Сейчас мы их рассмотрим, но сначала об установке и настройке – это займёт немного времени и вашего внимания.

Установка плагина происходит так же, как обычно, но намного быстрее и легче другой способ — скачать плагин с официального хранилища плагинов WordPress, а установка плагина пройдёт в автоматическом режиме – вам нужно будет только активировать плагин, а настроек он не требует, кроме некоторых изменений в шаблоне.

Плагин начинает функционировать сразу после активации и настроек не требует, можно только внести некоторые изменения в файл functions.php. Их мы рассмотрим ниже, а теперь несколько слов о тех функциях, которых нет в Rus-To-Lat:

Плагин автоматически после активации преобразует все русские ссылки к записям, меткам и страницам. Для только что созданного блога это преобразование не столь важно, но для тех сайтов, в которых надо преобразовывать несколько сотен (а то и тысяч) страниц с русскоязычными ссылками плагин Cyr-To-Lat будет незаменимым. После конвертации работоспособность старых русскоязычных ссылок будет сохранена, а точнее, пользователь будет перенаправлен со старых адресов на новые. Перенаправление будет осуществляться через 301 редирект ,что очень хорошо для оптимизации сайта, так как не теряется вес ссылок. То есть с точки зрения SEO-оптимизиции ваш ресурс не пострадает. Плагин также проводит транслитерацию названий загружаемых файлов. Так, при загрузке изображения с названием «Блог.gif» вы увидите медиафайл с именем «Блог» и ярлыком «Blog.gif». Плагин Cyr-To-Lat включает в себя символы русского, украинского, белорусского, македонского и болгарского языков. В плагин добавлен фильтр изменения транслитерации. Можно и вручную изменить таблицу в плагине, но фильтром быстрее и надёжнее, потому что при обновлении плагина вам не придётся снова его подправлять. Пользоваться этим фильтром легко — нужно открыть файл functions.php вашей текущей темы и добавить туда код перед закрывающим слэшем ?>: function my_cyr_to_lat_table($ctl_table) { $ctl_table['Ы'] = 'Y'; $ctl_table['ы'] = 'y'; return $ctl_table; } add_filter('ctl_table', 'my_cyr_to_lat_table');

Этот код поменяет транслитерацию символов «Ы» и «ы» на «Y» и «y» (по умолчанию эти символы плагин меняет на «YI» и «yi», что, на мой взгляд). Можно также добавить[‘Ь’] = [‘I’].

Транслитерация будет функционировать и при публикации через сервис XML-RPC, что для многих важно – публикации с бирж статей или публикации через клиент Windows Live Writer.

Никакой лишней нагрузки на блог плагин не произведёт, так как его код даже легче, чем у Rus-To-Lat.

Перед активацией плагина сделайте на всякий случай бекап БД. Потому что после активации плагин преобразует ссылки на сайте, и если вы потом удалите плагин, то ссылки уже не вернутся. Хотя существует небольшой хак по этому поводу, который поможет вам избежать неожиданностей.  Для этого необходимо создать новый файл regenerate-slugs.php в корневом каталоге вашего сайта, скопировать в этот плагин код, который вы видите ниже, и запустить этот файл из адресной строки вашего браузера. Если к моменту выполнения этого скрипта плагин ещё работает, то восстанавливаются только те ссылки, которые преобразовались в автоматическом режиме, а ссылки, которые были указаны вручную или изменены, остаются. Вот код:

<?php require 'wp-load.php'; $cyr2lat_enabled = false; if ( function_exists('ctl_sanitize_title') ) { remove_filter('sanitize_title', 'ctl_sanitize_title', 9); $cyr2lat_enabled = true; } echo "Regenerating post slugs...<br />\n"; $posts = $wpdb->get_results("SELECT ID, post_title, post_name FROM {$wpdb->posts} WHERE post_status = 'publish'"); foreach ( (array) $posts as $post ) { $original_name = sanitize_title($post->post_title); $sanitized_name = $cyr2lat_enabled ? ctl_sanitize_title( urldecode($original_name) ) : ''; if ( $post->post_name == $sanitized_name || empty($sanitized_name) ) { delete_post_meta($post->ID, '_wp_old_slug', $original_name); $wpdb->update( $wpdb->posts, array( 'post_name' => $original_name ), array( 'ID' => $post->ID ) ); } } echo "Regenerating term slugs...<br />\n"; $terms = $wpdb->get_results("SELECT term_id, name, slug FROM {$wpdb->terms}"); foreach ( (array) $terms as $term ) { $original_slug = sanitize_title($term->name); $sanitized_slug = $cyr2lat_enabled ? ctl_sanitize_title( urldecode($original_slug) ) : ''; if ( $term->slug == $sanitized_slug || empty($sanitized_slug) ) { $wpdb->update( $wpdb->terms, array( 'slug' => $original_slug ), array( 'term_id' => $term->term_id ) ); } } echo 'All done!'; ?>
Новости
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью

rss