Как отключить замену кавычек в WordPress?
0

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

Доброго времени суток, дорогие друзья и читатели. Почти с самого создания блога у меня появился вопрос "Как отключить автоматическую замену кавычек в WordPress", но руки так и не доходили, так как жесткой надобности не было в этом. Есть они и есть с одной стороны, чего в них плохого... В целом ничего, даже хорошо, если конечно у вас сайт или блог не посвящен тематикам "Программирование" или "Вебмастеру", в которых кавычки имеют разное место быть! Недавно напрягло это всё окончательно и я решил покопать движок и убрать эти самые кавычки. Лично у меня были достаточно приемлемые кавычки, две в одну сторону и две в другую, а у вас может быть и иначе. Как всегда несколько способов решения данной проблемы.

 

1. Первый способ.

Он наверное самый простой будет. Суть его в том, чтобы отключить функцию wptexturize() в WordPress, которая отвечает как раз за отображение поста или страницы, она же превращает наши кавычки в автоматическом режиме в разнообразные. Проще говоря форматирование текста и символов на более привлекательные и читабельные, какие конечно позволяет ваш шаблон и шрифт...

Вставьте следующие строки в functions.php вашей темы:

//Заменить в тексте записей и страниц
remove_filter('the_content', 'wptexturize');
 
//Заменить в заголовках записей и страниц
remove_filter('the_title', 'wptexturize');
 
//Заменить в тексте комментариев
remove_filter('comment_text', 'wptexturize');

Либо можно так:

if ( function_exists('remove_filter') ) {
remove_filter('the_content', 'wptexturize');
remove_filter('the_title', 'wptexturize');
remove_filter('comment_text', 'wptexturize');
}

Обращу ваше внимание, что код выше поможет только, если вы выводите контент с помощью the_content (чтобы узнать смотрите single.php или что-то подобное в вашей теме WP). Также бывает,
что кавычки плохо отрабатывают в заголовках, комментах или же в функции the_excerpt. Используйте код ниже, чтобы поправить ваши кавычки на всем сайте, по тому же принципу, что первый пример кода:

remove_filter('the_title', 'wptexturize');
remove_filter('the_content', 'wptexturize');
remove_filter('the_excerpt', 'wptexturize');
remove_filter('comment_text', 'wptexturize');
remove_filter('list_cats', 'wptexturize');
remove_filter('single_post_title', 'wptexturize');
remove_filter('comment_author', 'wptexturize');
remove_filter('term_name', 'wptexturize');
remove_filter('link_name', 'wptexturize');
remove_filter('link_description', 'wptexturize');
remove_filter('link_notes', 'wptexturize');
remove_filter('bloginfo', 'wptexturize');
remove_filter('wp_title', 'wptexturize');
remove_filter('widget_title', 'wptexturize');

 

2. Второй способ.

Если покопаться поглубже и залезть по уши в WordPress, то можно подчеркнуть следующий способ. Он не такой гибкий и проделывать его придется всякий раз когда движок обновляется, но тем не менее он рабочий и более широкий. Суть его примерно как и в способе выше, однако этот отключит замену кавычек везде где только можно. Также у кого не сработал первый способ, смело прибегаем ко второму. Также мы затронем в первом способе не только форматирование кавычек, но всего что только можно, а здесь нет. Открываем FTP клиент и далее открываем файл "/wp-includes/formatting.php".

В этом файле ищем:

$opening_quote = _x( '“', 'opening curly double quote' );
/* translators: closing curly double quote */
$closing_quote = _x( '”', 'closing curly double quote' );

Или это:

$opening_quote = _x( '“', 'opening curly double quote' );
/* translators: closing curly double quote */
$closing_quote = _x( '”', 'closing curly double quote' );

Далее заменяем на следующее:

$opening_quote = _x( '"', 'opening curly double quote' );
/* translators: closing curly double quote */
$closing_quote = _x( '"', 'closing curly double quote' );

 

 

Также небольшой бонус для тех кто не знает почему у кого-то выложенный php или js скрипт работает на сайте, а у вас нет. Дело также в форматировании. Для исправления надо отредактировать файлик, что описан выше formatting.php и заменить в нем несколько строк. Итак поехали:

 

Ищем:

$apos = _x( '’', 'apostrophe' );

Меняем на:

$apos = _x( ''', 'apostrophe' );

Ищем:

$double_prime = _x( '″', 'double prime' );

Меняем на:

$double_prime = _x( '"', 'double prime' );

 

На этом пожалуй и всё, выберите свой способ из этих, а может быть вы найдете свой. В таком случае пишите в комментариях, будет интересно почитать и посмотреть разницу в работе кодов:). Также если у вас остались или появились новые вопросы, то задавайте их также в комментариях. Всем спасибо за внимание! Делайте блог правильно!

Запись опубликована В категории: WordPress

Shnapik

Вебмастер с опытом ищет приют! Возьмите меня, а то меня рвут!

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

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