Отключаем автозамену кавычек в WordPress текстах и не только
Недавно в блоге я увидел некорректно отображающиеся кавычки в тексте, когда закрывающий и открывающие символы были направлены в одну сторону. Оказывается, что все кавычки, добавляемые мной через англоязычную раскладку (вот такие — ") также автоматически заменялись. Подобные преобразования проходят с дефисами, одинарными кавычками, многоточиями и т.п. Видимо, сделано это чтобы на сайте контент отображался в более красивом виде, но, мне кажется, не всегда это уместно. Поэтому сегодня разберемся как отключить данную автозамену.
На сайте кодекса есть полный список символов, участвующих в замене:
Некоторые значения могут меняться в зависимости от локализации, например, для русскоязычного текста будут отображаться двойные угловые скобки.
За преобразование отвечает специальный фильтр wptexturize(). Он выполняется на этапе публикации контента, поэтому в текстовом редакторе внутри админки все будет выглядеть отлично (а во фронтенде – совсем другое дело).
Функция wptexturize воздействует на целый ряд других фильтров:
Здесь, как видите, и текст заметки, и заголовок, и названия категорий, виджеты и многое другое.
Тем не менее, в ходе обработки пропускаются (не участвуют) следующие теги: <pre>, <code>, <kbd>, <style>, <script>, and <tt>. Также игнорируется конструкция шорткода [code]. Однако, если вам нужно изменить такой порядок работы – можете использовать фильтры ‘no_texturize_tags’, ‘no_texturize_shortcodes’.
Как отключить замену кавычек в тексте
Тут есть несколько вариантов.
1. Самый примитивный метод – это, конечно, переключиться в режим редактирования HTML и вводить в тексте коды соответствующих символов, например, чтобы получить двойную кавычку (") используйте значения " или " (а для одинарной — ' или '). Кроме того, есть и такие варианты:
Но это неудобно и достаточно хлопотно.
2. С помощью лишь одной строки в файле functions.php реально отключить все преобразования:
add_filter( 'run_wptexturize', '__return_false' ); |
3. Также допускается отключение замены Вордпресс кавычек для отдельных ситуаций, например:
remove_filter('the_title', 'wptexturize'); remove_filter('the_content', 'wptexturize'); remove_filter('comment_text', 'wptexturize'); remove_filter('the_excerpt', 'wptexturize'); |
В этом коде видите функции вывода заголовков, блока контента, комментариев и анонсов. Если хотите отключить автозамену в одном из них – добавляйте соответствующую строку в файл функций. На картинке чуть выше отображается список всех доступных фильтров.
Небольшой лайфхак. После отключения определенных преобразований, вы можете создавать собственные правила (через add_filter), где использовать некую новую функцию ‘my_new_wptexturize’, в которой с помощью str_replace устанавливаете свои варианты замены символов в строках.
4. Традиционно в системе должен существовать плагин, подходящий для данной задачи. Из трех небольших решений самым интересным является Wpuntexturize от Scott Reilly.
Однако, насколько я понимаю, данный модуль предотвращает автоматическое преобразование только(!) одинарных и двойных кавычек в фигурные. Все остальные символы, обрабатываемые wptexturize, — остаются не тронутыми. Поправьте меня, если я не прав.
Тем не менее, в модуле есть целый ряд интересных фильтров (ищите их описание в репозитории), которые позволяет значительно улучшить работу стандартных методов, например:
- wpuntexturize_filters – позволяет указывать какие именно функции (элементы заголовка, анонса, текста) будут избавлены от преобразований.
- c2c_wpuntexturize_replacements – еще лучше! С его помощью реально выбрать символы, которые будут трансформироваться, а какие нет.
Второй вариант вообще супер – именно то, что мне было нужно. Но, к сожалению, все мои попытки запустить в работу данный плагин не увенчались успехом.
Итого. Изначально я просто хотел убрать замену кавычек на скобки и уже обрадовался хаку с удалением фильтра wptexturize из всех важных текстовых элементов. Однако в итоге выяснилось, что этот метод удаляет также преобразование дефисов в тире, что мне не совсем подходит. Отличным решением мог оказаться рассмотренный плагин, но увы, он у меня так и не заработал. Возможно, я что-то делал не так – если вы уже использовали этот модуль, пишите советы в комментариях. Ну, и вдруг знаете какой-то альтернативный подход.
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Подборка лучших статей блога WordPress Inside в 2020 году
- Автоматические Woocommerce уведомления по СМС, в Viber о новых заказах и др.
- Оптимизация и ускорение Elementor – как убрать лишние стили и шрифты
- Плагин WP01 расскажет как ускорить и оптимизировать сайт на WordPress
- Что нужно знать при создании онлайн-магазина на WordPress? – этапы, хостинг, обязательные плагины
- Как откатить Вордпресс и плагины на предыдущие версии (вручную или с WP Rollback)
- Хаки для вариаций товаров в WooCommerce
- WooCommerce (42)
- Безопасность (11)
- Видео (6)
- Виджеты (27)
- Возможности (140)
- Вопрос-ответ (6)
- Начинающим (51)
- Новости (45)
- Оптимизация (23)
- Плагины (242)
- Сервисы (79)
- Хаки и секреты (86)
- Шаблоны (44)
- Записи и посты wordpress, оформление записи
(5,89 из 7, голосов - 46)
- Умный копирайт в footer.php для wordpress
(5,63 из 7, голосов - 30)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений
(5,13 из 7, голосов - 30)
- Polylang — плагин для мультиязычных сайтов на нескольких языках в WordPress
(4,21 из 7, голосов - 28)
- Рубрики и категории wordpress, функция wp_list_categories
(6,00 из 7, голосов - 19)
- Плагин TinyMCE Advanced – wordpress текстовый редактор
(6,28 из 7, голосов - 18)
- Ошибка lessphp fatal error в WordPress при переносе сайта
(4,81 из 7, голосов - 21)

- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- WordpressPlugins.ru
- Majordomo - выгодные цены на виртуальный хостинг
- Accent PDF Password Recovery – восстановление доступов к документам PDF
- Обзор ноутбука Dell Inspiron 7720
- Азартная игра на официальном сайте онлайн казино Вулкан
- 1C:Предприятие. Платформа и конфигурации — автоматизация бизнеса
- Использование блогов для продажи приложений
- Надежность покупок в интернет магазинах
- Работа в офисе: почему мы устаем
- Популярность официального сайта онлайн казино Азино