Как отключить автоматическую замену кавычек и дефисов

По умолчанию WordPress пропускает содержимое и заголовки постов, комменты и цитаты через функцию, заменяющую одни кавычки на другие, дефисы на тире и некоторые другие символы. Исключение составляет содержимое этих HTML-тегов:

<pre> <code> <kbd> <style> <script> <tt>

В них символы не заменяются.

Вот пример замены кавычек, так выглядит содержимое редактора:

кавычки в редакторе WordPress

Кстати, не имеет значения, какая вкладка выбрана в редакторе — «Визуально» или «HTML». Замена символов особо ощутима на сайтах, которые размещают различные компьютерные коды, в которых даже не значительное изменение делает код не рабочим. Поэтому решение данной проблемы будет максимально полезно сайтам компьютерной, веб тематики, системного администрирования и особенно программирования.

А вот так выглядят кавычки после замены:

измененные кавычке в заголовке и содержимом поста

Таблица замены символов фильтром wptexturize

Порывшись в функции wptexturize(), я составил небольшую таблицу заменяемых символов:

Символ в редактореЗаменяется наВ итоге
&#8216; &#8217;‘ ’
«&#171; &#187;« »
– (с пробелами по краям)&#8212;
––&#8212;
–––&#8212;
(tm)&#8482;
… (многоточие)&#8230;
» (две кавычки рядом)&#187;»
«&#171;«

Кавычки и тире могут отличаться в зависимости от локализации! То что в таблице — для русской версии WordPress.

Отключение фильтров:

Все четыре следующих сниппета нужно вставлять в functions.php.

Отключение замены символов в содержимом поста:

remove_filter('the_content', 'wptexturize');

В заголовке поста:

 
remove_filter('the_title', 'wptexturize');

В тексте комментария:

remove_filter('comment_text', 'wptexturize');

В цитате:

remove_filter('the_excerpt', 'wptexturize');

 

Вас могут заинтересовать:

Добавить комментарий

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