По умолчанию 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 |