По умолчанию WordPress заменяет простые кавычки " " фигурными « ». К сожалению, делает он это неадекватно, если в тексте есть несколько кавычек. В добавок, если в статье есть примеры из программирования, то замена крайне нежелательна. Как же отключить автоматическую замену?
Функция remove_filter
Для отключения автоматической замены кавычек в WordPress необходимо перейти в меню "Внешний вид" - "Редактор" - "Функции темы". И после первой строки "<?php", в начале файла, добавить следующие строки:
remove_filter('the_content', 'wptexturize');
remove_filter('the_excerpt', 'wptexturize');
Сохраните файл после изменения. И проверьте результат на сайте - исчезнет автоматическая замена кавычек на фигурные скобки в статьях и анонсах.
Подробнее о wptexturize
Разберём подробнее, что содержат две строчки кода:
remove_filter - это функция для удаления "фильтров" в WordPress.
the_content - функция, которая выводит содержание статьи.
the_excerpt - функция для вывода анонса статьи.
wptexturize - функция форматирования текста
Функции the_content и the_excerpt взаимосвязаны с wptexturize. Как только вызывается the_content(), то выполняется и wptexturize(). Чтобы разорвать эту связь используется remove_filter().
К сожалению, при удалении wptexturize исчезнут не только фигурные кавычки, но и другие украшения текста. Потому что эта функция преобразует ещё несколько комбинаций значков в более привлекательные (по её мнению). Пример работы функции wptexturize:
| до | после |
|---|---|
| --- | — |
| " -- " | — |
| -- | – |
| - | – |
| ... | … |
| `` | “ |
| "hello | “hello |
| 'hello | ‘hello |
| '' | ” |
| world." | world.” |
| world.' | world.’ |
| (c) | © |
| (r) | ® |
| (tm) | ™ |
| 1234" | 1234″ |
| 1234' | 1234′ |
| '99 | ’99 |
| Webster's | Webster’s |
| 1234x1234 | 1234×1234 |