X
  • Дизайн та розробка сайту
  • Дизайн і створення сайтів. Розробка тем для WordPress. Створення Landing Page.
  • office@gnatkovsky.com.ua
  • @vgnat
  • Написати мені
Замовити послугу

ЛЗУ посилання на WordPress без плагіна

Приклад
  • 2024-05-27
  • 1287 переглядів

  • Дизайн та розробка сайту

Доброго вам дня.

Вирішив написати невелику статтю про найпростіший спосіб, як без плагіна зробити ЛЗУ посилання на WordPress. Тобто ЛЗУ (Людино Зрозумілі Урл), це коли кириличні посилання переробляють в латиницю. За замовчуванням WordPress створює посилання для записів кирилицею. Якщо ви так їх залишите, то це буде не зовсім правильно, бо браузери, месенджери, соцмережі і тд, всюди де будуть такі посилання, спробують їх переробити і ваші посилання будуть по кілометру довжиною з незрозумілих вам символів.

ЧПУ ссылки на WordPress без плагина

У мене вже є стаття на сайті, де я розповідав, як за допомогою плагінів вирішити це завдання, а також як правильно налаштувати формування посилань на WordPress за допомогою стандартних налаштувань - Постійні посилання на латиниці або ЛЗУ – Людино Зрозумілий Урл WordPress.

У тому плагіні я пропонував встановлювати плагін RusToLat. Зараз він вже довго не оновлювався і застарів. Можна знайти аналоги типу Cyr to Lat або якщо ви використовуєте плагін для SEO, то в багатьох з них вже вшита функція перекладу посилань.

У цій же статті, я розповім як самому задати транслітерацію і формування ЛЗУ за допомогою невеликого коду. Також даний спосіб дозволить задати свої правила транслітерації. Наприклад, мені цей спосіб дозволив додати параметри транслітерації для українських літер. У прикладі вони будуть, так що даний код підійде для тих, хто як і я робить сайт українською та російською мовами. Якщо ж ні, то можете просто видалити зайві переклади.

Як завжди, щоб додати нову функцію в WordPress, вам знадобиться файл призначений для функцій користувача function.php. Додаєте в самий кінець перед закриваючим тегом PHP ?>. Якщо його немає, то просто в самий кінець.

Перед внесенням змін в function.php , обов'язково збережіть його копію, щоб в подальшому, у випадку помилки, повернути все як було. Так само, можете використовувати дочірню тему. Якщо ви не знаєте що це таке, то ознайомтеся зі статтею - Дочірні теми WordPress.

$iso_my_thm = array(
   "Є"=>"EH","є"=>"eh","І"=>"I","і"=>"i","Ї"=>"i","ї"=>"i",
   "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D",
   "Е"=>"E","Ё"=>"JO","Ж"=>"ZH",
   "З"=>"Z","И"=>"I","Й"=>"JJ","К"=>"K","Л"=>"L",
   "М"=>"M","Н"=>"N","О"=>"O","П"=>"P","Р"=>"R",
   "С"=>"S","Т"=>"T","У"=>"U","Ф"=>"F","Х"=>"KH",
   "Ц"=>"C","Ч"=>"CH","Ш"=>"SH","Щ"=>"SHH","Ъ"=>"'",
   "Ы"=>"Y","Ь"=>"","Э"=>"EH","Ю"=>"YU","Я"=>"YA",
   "а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d",
   "е"=>"e","ё"=>"jo","ж"=>"zh",
   "з"=>"z","и"=>"i","й"=>"jj","к"=>"k","л"=>"l",
   "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
   "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"kh",
   "ц"=>"c","ч"=>"ch","ш"=>"sh","щ"=>"shh","ъ"=>"",
   "ы"=>"y","ь"=>"","э"=>"eh","ю"=>"yu","я"=>"ya",
   "—"=>"-","«"=>"","»"=>"","…"=>"","№"=>"#"
   );
 
function url_translit_iso($title){
global $iso_my_thm;
return strtr($title, $iso_my_thm);
}

add_action('sanitize_title', 'url_translit_iso', 0);

Давайте пробіжимося по кодові. Спочатку ми створюємо змінну - $iso_my_thm, всередині якої і задані правила транслітерації. У другому рядку якраз і задані українські літери, якщо вони вам не потрібні, то просто видаліть цей рядок з буквами. Якщо не потрібні російські, то видаліть їх.

"Є"=>"EH","є"=>"eh","І"=>"I","і"=>"i","Ї"=>"i","ї"=>"i",
//або
"Ё"=>"JO","ё"=>"jo","Ъ"=>"'","ъ"=>"","Э"=>"EH","э"=>"eh","ы"=>"y",

Як ви вже зрозуміли, кожне правило має вигляд - "Д"=>"D" і розділяються комою. Ви можете додати свої, якщо потрібно або видалити зайві.

Після змінної йде функція, яка і буде виконувати транслітерацію - url_translit_iso. Вона використовує нашу змінну, де задані правила і з її допомогою змінює кириличні символи в назві запису на латиницю.

В останньому рядку ми створюємо подію - add_action, таким чином викликаємо нашу функцію, щоб вона почала працювати.

Після того як додали код, можете перейти в консоль вашого сайту і спробувати створити новий запис. Задайте йому назву і подивіться як сформується посилання. Якщо замість кирилиці з'явилася латиниця, значить ви все зробили правильно.

На цьому все, дякую за увагу. 🙂

Якщо Вам була корисна моя праця, можете фінансово підтримати сайт або відключити блокувальник реклами, що займе 2 хвилини :)

Хочу підтримати фінансово Хочу відключити блокувальник

Оцініть статтю
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 2, в среднем: 5 из 5
Читайте також

Deprecated: Функція WP_Query викликана з аргументом, який вважається застарілим з версії 3.1.0! Вираз caller_get_posts застарілий. Використовуйте ignore_sticky_posts. in /var/www/vhosts/gnatkovsky.com.ua/gnatkovsky.com.ua/public/wp-includes/functions.php on line 6078