Типограф: висячие предлоги
Типограф: висячие предлоги — плагин WordPress, неразрывные пробелы после предлогов и союзов в русских текстах
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/m12studio-ru/tipograf/archive/refs/heads/main.zipТипограф: висячие предлоги
Русский · English
Плагин WordPress, который убирает висячие предлоги и союзы в русских текстах: короткие слова, частицы, тире и единицы измерения не отрываются от соседнего слова.
Висячий предлог — короткое слово в конце строки, оторванное от следующего: «в», «на», «не», «и». Типограф ставит между ними неразрывный пробел, и браузер переносит их на новую строку вместе.
Что делает
- Короткие слова. Предлоги, союзы и короткие местоимения держатся за следующее слово: «с вами», «на сайт», «не всегда». Список слов можно поменять в настройках.
- Частицы. Же, ли, бы держатся за предыдущее слово: «он же», «был ли».
- Тире не переносится в начало строки: «Москва — столица».
- Числа и сокращения: «10 м», «5 шт», «№ 5», «г. Москва».
Каждое правило включается и выключается отдельно: Настройки → Типограф.
Как работает
- Обрабатывает готовую страницу целиком при выдаче: тексты записей, заголовки, меню, поля, подписи в шаблонах темы.
- Трогает только видимый текст. Теги, атрибуты, ссылки, скрипты, стили,
<head>,<pre>и<code>остаются как были. - Тексты в базе не меняются: выключили плагин — всё как раньше.
- С кешем страниц (WP Super Cache, WP Rocket, LiteSpeed) обработка идёт один раз, когда страница попадает в кеш. После включения, выключения и изменения настроек кеш сбрасывается сам.
Требования
- WordPress 6.5 или новее
- PHP 7.4 или новее
Установка
- Скачайте архив репозитория и распакуйте папку
tipografвwp-content/plugins/. - Включите плагин в разделе Плагины.
- Настройки → Типограф: выберите правила и при желании поправьте список коротких слов.
Подгрузка без перезагрузки страницы
Кнопки «Показать ещё», фильтры каталога и живой поиск часто подгружают записи через AJAX. Такие ответы плагин обрабатывает сам, без настройки: и готовый HTML, и JSON, внутри которого лежит HTML. Простые строки в JSON не трогает, потому что это могут быть данные: адреса, ключи, значения полей.
Не обрабатываются:
- запросы из админки, чтобы неразрывные пробелы не попали обратно в базу;
- REST API, RSS-ленты, robots.txt, карты сайта и другие ответы не в HTML;
- страницы на других языках на многоязычных сайтах (TranslatePress, WPML, Polylang): переводы ищутся по исходному тексту;
- страницы, открытые в редакторе переводов TranslatePress или в визуальном конструкторе (Elementor, Divi, Beaver Builder, Oxygen, Bricks, WPBakery, Thrive, Brizy): текст оттуда сохраняется обратно в базу.
Выключить обработку на отдельных страницах можно фильтром:
add_filter( 'tipograf_enabled', function ( $enabled ) {
return $enabled && ! is_page( 'contacts' );
} );
Проверки
php tests/run.php
Откуда правила
Правила основаны на Типографе Муравьёва (общественное достояние) и переписаны под современный PHP.
Лицензия
GPLv2 или новее. Автор — m12studio.