Loading...
X

Как в WordPress отключить замену тире. Настройки автозамены символов и слов в WordPress


Перед каждым выводом текста статьи, WordPress проверяет этот текст и может форматировать его в соответствии со своими представлениями о прекрасном. Например, в тексте статьи два тире подряд будут заменены на одно тире, три дефиса подряд также будут заменены на один, большое тире может быть заменено на маленькое если, по мнению WordPress, оно использовано некорректно (пример некорректного использования большого тире — в диапазоне, например «через 2-3 дня»).

Для подавляющего большинства веб мастеров до этого просто нет дела, так как форматирование затрагивает, кроме тире, пробелы, апострофы (вообще не используются в русском языке), одинарные и двойные кавычки (отличные от тех, которые используются в русском языке), поэтому для многих каких-либо проблем в этом нет.

Не повезло только одной категории — тем кто пишет технические статьи про программы с интерфейсом командной строки, когда нужно указывать опции. Обычно это программы для Linux. Так вот, в их статьях опция вида --version превращается в —version. В таком виде опция становится неработоспособной. Могут быть и другие примеры, когда автозамена и автоматическое удаление символов приносит вред.

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

Как отключить замену двух тире на одно

Чтобы отключить автоматическую замену тире в WordPress, откройте файл wp-includes/formatting.php, найдите там строки:

и удалите их все.

Первая строка меняет три тире подряд на одно большое тире. Вторая меняет два тире подряд, после которого следует пробел, на большое тире. Третья строка меняет два тире подряд на маленькое тире. Четвёртая при определённых условиях меняет большое тире на маленькое.


Вот фрагмент кода из моей статьи про плагин WordPress, в результате автоматической замены текст стал таким (все шорт-коды неработоспособны):

После удаления указанных выше строк, все шорт-коды приняли свой исходный вид:

Автозамена слов и символов в WordPress

В этом же самом файле (wp-includes/formatting.php) выполняется замена апострофов, кавычек, убираются ненужные пробелы. Разделы кода имеют комментарии, поэтому вы сможете сориентироваться какая строка вам мешает и удалить её, чтобы не выполнять соответствующую замену.

Также в этом файле есть функция для замены cockney (это «наречие» лондонских работяг) — по аналогии можно сделать замену слов в тексте «на лету». Хотя, пожалуй, если это не связано с редактированием, то для этого лучше использовать какой-нибудь плагин.

Заключение

Поскольку мы редактировали файл с исходным кодом wp-includes/formatting.php, то при каждом мажорном обновлении, а также иногда и при минорных обновлениях WordPress, все настройки сбрасываются — придётся всё делать заново. Возможно, нужно настроить автоматический патчер.

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


Билеты на автобусы, паромы и поезда, в том числе стыковочные маршруты:

Авиабилеты на международные и местные направления по минимальным ценам:

Рекомендуется вам:


Buy Me a Coffee

2 observations on “Как в WordPress отключить замену тире. Настройки автозамены символов и слов в WordPress
  1. Светлана

    Здравствуйте, подскажите пожалуйста как выполнить замену  тире на слеш / и точку в url созданной страницs в WordPress. Выглядит так: napravlnie-super-text-html, мне надо исправить на napravlnie/super-text.html

     
    Reply
    1. MiAl

      Приветствую! С помощью файла .htaccess можно настроить правила mod_rewrite «при запросе такого-то URL показывать такую-то страницу», но, ИМХО, это настолько бессмысленно, что я попытаюсь дать другое направление вашей мысли.

      Вы используете WordPress, в котором слэш отделяет название рубрики от названия страницы. То есть вам нужно создать рубрику «napravlnie» и в эту рубрику поместить страницу super-text-html, как раз получится URL napravlnie/super-text-html.

      Что касается расширения .html, то WordPress, который вы используете в качестве движка сайта, расширения файлов не использует. То есть лучший вариант — просто убрать html из URL.

      Смотрите также: Как поменять адрес страницы при изменении её названия в WordPress

      Веб-браузеры и поисковые системы не ориентируются на расширение файла. Информация о содержимом файла передаётся в заголовках HTTP протокола.

      То есть, создайте рубрику, а html уберите вовсе. Если вам нужно именно так, как вы написали, то mod_rewrite и .htaccess и регулярные выражения — это то, что вам поможет. С практической точки зрения это не имеет никакого смысла и, возможно, потребует создание нового правила для каждой новой статьи.

       
      Reply

Leave Your Observation

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

wp-puzzle.com logo