Libra Media работает на хостинге Beget. Хочешь свой сайт? Регистрируйся и получи любой тариф бесплатно на месяц!
Добавление транслита в плагин Table of Contents Plus для WordPress

WordPress. Добавление транслита для плагина Table of Contents Plus

Опубликовано: 28.06.2021
2 минуты на чтение

Многие вебмастера пользуются плагином Table of Contents Plus для автоматического вывода блока с содержанием статей. Однако, у него есть один недостаток: он не умеет транслитерировать кириллицу в латиницу и потому не может генерировать корректные якорные ссылки на элементы оглавления.

Добавление транслита в плагин Table of Contents Plus для WordPress
При формировании якорной ссылки русские символы в заголовке пропускаются

Публикую короткую инструкцию по доработке Table of Contents Plus для поддержки транслитерации.

Перед добавлением транслитерации обновите плагин до последней актуальной версии.

Помните, что все последующие обновления плагина будут затирать внесенные в код правки, поэтому впоследствии нужно либо воздержаться от их установки, либо оперативно восстанавливать изменения после обновления.

Затем откройте файл:

  • /wp-content/plugins/table-of-contents-plus/class-toc-plus.php, если вы пользуетесь актуальной версией плагина
  • /wp-content/plugins/table-of-contents-plus/toc.php, если вы пользуетесь версией плагина до 2xxx и по каким-то причинам не хотите обновляться

И найдите в нем строку:

$return = str_replace( ‘&’, ”, $return );

Сразу после этой строки вставьте следующий код:

// начало транслитерации

			$tr = array(
				"ай"=>"ay","ей"=>"ey","ий"=>"iy","ой"=>"oy","уй"=>"uy",
				"ый"=>"yy","эй"=>"ey","юй"=>"yuy","ей"=>"yay",
				
				"Ґ"=>"G","Ё"=>"YO","Є"=>"E","Ї"=>"YI","І"=>"I",
				"і"=>"i","ґ"=>"g","ё"=>"yo","№"=>"","є"=>"e",
				"ї"=>"yi","А"=>"A","Б"=>"B","В"=>"V","Г"=>"G",
				"Д"=>"D","Е"=>"E","Ж"=>"ZH","З"=>"Z","И"=>"I",
				"Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N",
				"О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T",
				"У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH",
				"Ш"=>"SH","Щ"=>"SHCH","Ъ"=>"","Ы"=>"Y","Ь"=>"",
				"Э"=>"E","Ю"=>"YU","Я"=>"YA",
				
				"а"=>"a","б"=>"b",
				"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"zh",
				"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
				"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
				"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
				"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"shch","ъ"=>"",
				"ы"=>"y","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya",
				
				"  "=>"-"," "=>"-","?"=>"","№"=>"-"," "=>"-",","=>"","."=>"","&"=>"","amp"=>"",
				"quot"=>"",";"=>"",";"=>"","+"=>"","="=>"","*"=>"","#"=>"",
				"/"=>"","”"=>"","“"=>"",")"=>"","("=>"","$"=>"","%"=>"",
				":"=>"","!"=>"",">"=>"","<"=>"","«"=>"","»"=>"","\""=>"",
				"'"=>"","`"=>"","\\"=>"","–"=>"-","—"=>"-","--"=>"-","---"=>"-","…"=>"" ,"…"=>"", "’"=>""
			);

			$return = strtr(trim($return), $tr);

// конец транслитерации

Сохраните изменения. На этом все готово, и Table of Contents Plus будет генерировать корректные якорные ссылки, транслитерированные с кириллицы.

На всякий случай прикладываю код для вставки в виде текстового файла.

Автор статьи:
Дмитрий
С 2013 года профессионально занимается созданием и продвижением коммерческих и информационных веб-сайтов. В 2018 году завел блог Libra Media, в котором делится опытом и практическими наработками в сфере SEO, администрирования серверов и доработок для сайтов на Bitrix и WordPress.
#WordPress

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *