Добавить в корзинуПозвонить
Найти в Дзене
Mix Of Me

Автоматический перевод ярлыков WordPress без плагинов.

В процессе создания новых постов или страниц WordPress автоматически генерирует ярлык (slug) — часть URL, которая отражает название поста. Но иногда WordPress не обрабатывает кириллицу, и вместо красивого URL вы можете получить нечитабельные символы. Сегодня расскажем, как сделать автоматическое создание ярлыков на основе заголовков на русском языке и автоматически переводить их в латиницу — без использования плагинов. Читабельные и правильные URL не только улучшают SEO, но и помогают пользователям лучше воспринимать структуру вашего сайта. Например, вместо URL вида site.ru/%d0%bf%d0%be%d1%81%d1%82/ мы получим site.ru/post/. Весь код добавляется в файл functions.php вашей темы. Этот файл можно найти в админке WordPress, зайдя в Внешний вид → Редактор тем и выбрав файл functions.php. Рекомендуется сделать резервную копию файла перед изменениями. Добавьте следующий код в файл functions.php: // Функция транслитерации для URL-ярлыков function transliterate_slug($slug) { $slug = mb_strt
Оглавление
автоматическая генерация ярлыков
автоматическая генерация ярлыков

В процессе создания новых постов или страниц WordPress автоматически генерирует ярлык (slug) — часть URL, которая отражает название поста. Но иногда WordPress не обрабатывает кириллицу, и вместо красивого URL вы можете получить нечитабельные символы. Сегодня расскажем, как сделать автоматическое создание ярлыков на основе заголовков на русском языке и автоматически переводить их в латиницу — без использования плагинов.

Зачем это нужно?

Читабельные и правильные URL не только улучшают SEO, но и помогают пользователям лучше воспринимать структуру вашего сайта. Например, вместо URL вида site.ru/%d0%bf%d0%be%d1%81%d1%82/ мы получим site.ru/post/.

Шаг 1: Подготовка файла functions.php

Весь код добавляется в файл functions.php вашей темы. Этот файл можно найти в админке WordPress, зайдя в Внешний видРедактор тем и выбрав файл functions.php. Рекомендуется сделать резервную копию файла перед изменениями.

Шаг 2: Добавление функции для автоматического создания ярлыков

Добавьте следующий код в файл functions.php:

// Функция транслитерации для URL-ярлыков

function transliterate_slug($slug) {

$slug = mb_strtolower($slug); // Приведение строки к нижнему регистру

$slug = strtr($slug, array(

'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e',

'ё' => 'yo', 'ж' => 'zh', 'з' => 'z', 'и' => 'i', 'й' => 'y', 'к' => 'k',

'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r',

'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'kh', 'ц' => 'ts',

'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', 'ъ' => '', 'ы' => 'y', 'ь' => '',

'э' => 'e', 'ю' => 'yu', 'я' => 'ya'

));

// Удаляем все лишние символы, кроме букв, цифр и дефисов

$slug = preg_replace('/[^a-z0-9\-]+/', '-', $slug);

$slug = trim($slug, '-'); // Удаляем начальные и конечные дефисы

return $slug;

}

// Применение функции транслитерации при сохранении поста

add_filter('sanitize_title', 'transliterate_slug', 9);

Как работает этот код?

  1. Функция transliterate($text): Она принимает текст и переводит его с кириллицы на латиницу, используя таблицу транслитерации. Текст очищается от ненужных символов, оставляя только буквы, цифры и дефисы.
  2. Функция auto_generate_slug($post_ID): Она вызывается каждый раз, когда пост сохраняется. Функция получает заголовок поста, преобразует его в транслитерированный slug и обновляет поле post_name (ярлык), если он ещё не был установлен.
  3. Хук save_post: Добавленный хук автоматически вызывает функцию auto_generate_slug при сохранении поста.

Пример результата

После добавления кода, когда вы создаете новый пост с заголовком, например, "Привет, мир!", ярлык будет автоматически установлен как privet-mir.

Преимущества этого подхода

  • Удобство: Вам не нужно вручную прописывать ярлыки или устанавливать плагины для создания slug.
  • Читабельность: Slug становится понятным и удобным для восприятия.
  • SEO: Чистый URL способствует лучшему ранжированию в поисковых системах и повышает кликабельность.

Заключение

С этим простым кодом у вас больше не будет проблем с кириллическими символами в ярлыках, а также не придется использовать плагины для автоматического создания URL на основе заголовка. Уверен, этот способ поможет вам сделать ваш WordPress сайт более удобным и SEO-оптимизированным!

__________________________________________________________________________________________

✨ Спасибо, что читаете!

На своем сайте mixofme.ru я публикую ещё больше материалов, которые вам понравятся. Там уютно, интересно и полезно – присоединяйтесь!

💬 Ставьте лайки, пишите комментарии и подписывайтесь – ваш отклик делает мой день лучше.