Решение проблемы с кавычками в WordPress

20/12/2013
Кавычками  WordPress отображаются неправильно

Решение проблемы с кавычками в WordPress

Многие пользователи сталкиваются со следующие проблемой в WordPress: в редакторе кавычки отображаются нормально, а при просмотре на самом сайте возникают проблемы.

  • Вместо компьютерных кавычек ставятся кавычки «ёлочки»;
  • Вместо закрывающих кавычек, оказываются кавычки открывающие, и наоборот.

Проблема с кавычками Вордпресс вместо прямых кавычек ставятся елочки

Вместо первого варианта, можно получить вариант два или три

Подобные «несанкционированные» действия WordPress особенно напрягают, когда необходимо вставить в текст какой-нибудь листинг с кодом HTML. Остается загадкой, почему до сих пор разработчики не устранили этот явный глюк.

В Интернете предлагаются два варианта решения проблемы:

  1. С помощью применения плагинов типа  Unfancy Quote Plugin, Preserve Code Formatting, WP Typograph Lite и т.д.
  2. За счет внесения изменения в функции темы WordPress, т.е. в файл functions.php.

Поскольку плагины создают дополнительную нагрузку, т.е. уменьшают скорость загрузки страниц, то на мой взгляд, лучше внести изменения в файл functions.php.

Где искать functions.php и что в него добавлять?

Шаг 1. В консоли управления выбираем Внешний вид — Редактор.

Где редактор wordpress

В консоли управления выбираем «Внешний вид — Редактор»

Шаг 2. В правой колонке щелкаем по ссылке «Функции темы (functions.php).

functions php где находится

В правой колонке щелкаем по ссылке «Функции темы (functions.php)

После этого откроется файл functions.php в редакторе WordPress.

Файл functions.php в редакторе WordPress

Файл functions.php в редакторе WordPress

Шаг 3. Перед тем, как вносить изменения в файл functions.php, обязательно сохраните его копию на своем домашнем компьютере (в конкретном случае, я просто скопировал текст файла и вставил его в редактор Notepad++). Дело в том, что если добавить дополнительный код не туда, куда следовало, WordPress перестанет работать.

Я промоделировал ситуацию, добавив лишь одни символ в начало файла functions.php, что сразу привело к тому, что блог перестал работать. При попытке зайти в категории, появляется сообщение о синтаксической ошибке в файле functions.php:

Parse error: syntax error, unexpected T_IF in /home/host/public_html/wp-content/themes/twentyten/functions.php on line 48

Сообщение Parse error: syntax error, unexpected T_IF WordPress

Сообщение о синтаксической ошибке в файле functions.php

В подобных случаях, всё необходимо вернуть в исходное состояние. При любом раскладе, добраться до файла functions.php можно через панель управления хостингом. На моём хостинге установлена панель cPanel.

Чтобы не ошибиться, лучше вставить необходимый код в конец файла. Копируем этот код (код с комментариями, чтобы не забыть, для чего он нужен):

// Начало кода для правильного отображения кавычек
remove_filter(‘the_content’, ‘wptexturize’);
// Конец кода для кавычек

Вставляем код в конец файла functions.php и нажимаем кнопку «Сохранить».

Код для правильного отображения кавычек WordPress

Вставляем код в конец файла functions.php и нажимаем кнопку «Сохранить»

После добавления кода, обязательно проверьте работоспособность блога — проверяйте как отдельные записи, так и категории.

Внимание! При смене темы (шаблона), необходимо будет заново прописать дополнительный код в файл functions.php.

One thought on “Решение проблемы с кавычками в WordPress

  1. Nikola

    Извините, не сразу заметил текст в футере о запрете копирования материалов (за что, видимо, и был наказан в легкой форме, о чем ниже). И вообще, мне кажется, я не полностью понимаю сути этого текста, но речь о другом.
    Скопировав код, который исправляет кавычки не получил результата. Оказалось, что это:
    // Начало кода для правильного отображения кавычек
    remove_filter(‘the_content’, ‘wptexturize’);
    // Конец кода для кавычек
    содержит не такие одинарные кавычки, какие нужно.
    Тонкий троллинг со стороны автора?)

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

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