WordPress: как убрать французские кавычки?

Меня таки доконала корявая замена кавычек, на французские кавычки "ёлочки", которые размещены абы как:

Wordpress: Как убрать фигурные кавычки

мне бы хотелось что бы на блоге отображались машинописные двойные кавычки:

Wordpress: подмена кавычек

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

remove_filter('the_content', 'wptexturize');
remove_filter('the_title', 'wptexturize');
remove_filter('comment_text', 'wptexturize');

Эти строки естественно должны быть между закрывающим и открывающим тегами "<?php" и "?>". Этот код отключает в тексте, заголовках и комментариях функцию wptexturize. Wptexturize отвечает за форматирования текста, в её задачи входит изменить текст на более правильный, читаемый и визуально привлекательный.

Но мне этот способ не понравился:

  • Во первых этот способ не совсем правильный, ведь мы хотим затронуть только кавычки, а не все замены форматирования, которые прописаны в этой функции.
  • Во вторых the_content, the_title, comment_text далеко не полный список фильтров к которым применяется функция wptexturize.
  • И в третьих - самое главное что у меня этот способ не сработал, кавычки как были фигурными, так и остались.

Потому копнем немного глубже, залезем в исходный код функции wptexturize и поправим ее так, чтоб она заменяла кавычки на двойные.

Для этого нам нужно отредактировать файл "/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( '&#8220;', 'opening curly double quote' );
/* translators: closing curly double quote */
$closing_quote = _x( '&#8221;', 'closing curly double quote' );

И заменяем вот на такие строки:

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

То есть мы заменяем '', '',  '&#8220;',  '&#8221;' на  '&quot;'.

Вот и все, проблема решена. Но есть небольшой нюанс, после обновления wordpress вам скорее всего снова придется поправлять этот файлик, слава богу wordpress не так уж и часто обновляется =)

UPD: Думаю многие сталкивались с проблемой, когда на каком-то блоге выложен php или javascript-код, который должен работать, но при попытке применить его у себя на блоге ничего не получается. Мало того, бывает что сами у себя в записи поделились кодом, но попытка его скопировать из записи и применить тоже заканчивается неудачей. Виной все та же замена wordpress'ом одинарных или двойных кавычек. Для того, чтоб на вашем блоге таких проблем не было, стоит отредактировать тот же файлик. Замените следующие строку:

$apos = _x( '&#8217;', 'apostrophe' );

на строку

$apos = _x( '&#039;', 'apostrophe' );

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

$double_prime = _x( '&#8243;', 'double prime' );

на строку:

$double_prime = _x( '&quot;', 'double prime' );
Понравилось? =) Поделись с друзьями:

Обсуждение записи “WordPress: как убрать французские кавычки?”

  1. Вот видите, у каждого свои тараканы в голове. Вас доканали корявые кавычки, а меня пустые квадратики в комментариях. :)
    Мне, кстати, тоже не нравятся корявые кавычки. Но попытавшись исправить положение по вашему методу, у меня, к сожалению, блог перестал открываться. И это уже не первый раз подобное происходит. Видать у меня шаблон слишком мудреный, в нем многие файлы связаны между собой. :(

  2. elimS (elims.org.ua) says:

    Ну у вас кавычки не «ёлочки», а английские двойные, на них не так заметно если они не правильно расположены. А вот почему метод не сработал уже странно. Вы же второй метод использовали? Редактирование файла «/wp-includes/formatting.php»?

  3. Анна says:

    elimS, а есть ли код(без плагинов) по корректному отображению фигурных кавычек? Мне они больше по душе =).

  4. Анна says:

    Можно ли как в Вашем случае применить свои символьные мнемоники?

    Например: « или « и » или » они отображают одно и то же левую и правую двойные угловые скобки.

  5. Владимир Демянович (elims.org.ua) says:

    Анна, меня с толку сбил последний комментарий. Давайте скажу как я его увидел, а Вы поправьте.

    Вы написали:

    Например: &_laquo; или &_#171; и &_raquo; или &_#187; они отображают одно и то же левую и правую двойные угловые скобки.

    У меня &_laquo; и &_#171; отображаеться как фигурные кавычки в левую сторону. «
    И &_raquo; или &_#187; отображаются как фигурные кавычки в правую сторону. »

    Можете наблюдать это по последнему Вашему комментарию. Знаки подчеркивания я специально поставил, иначе символы конвертируются в фигурные кавычки)

    Вам также нужно?

  6. Анна says:

    Владимир, решила всё вашими идеями(прохирургировав «/wp-includes/formatting.php»), теперь обновилась на WP 3.7.1(на Denwer`е сначала, чтобы узнать что нового) угловые скобки — они отныне работают так, как это необходимо(можно сказать у WP появляются мозги) =) ! Но, на всякий случай(в силу того, что WP с версии 3.7.1 теперь станет обновляться автоматом(на сайте разработчика указано)) от вашей идеи не откажусь. А ещё кое-что, вес нового движка теперь великоват, при этом, если раньше строк(через нотпад++ смотреть) в файлах было не особо — предел 2000, то сейчас дошло до 4000тыс. И как раньше поиск и замена(строк ради безопасности/изменений/переустройства) если и были лёгкими, то сейчас проблемными. Но ничего привыкнем =). Спасибо.

  7. Владимир Демянович (elims.org.ua) says:

    Анна, хорошая новость. А я с тех пор как обновился на версию 3.7 не поправлял эти кавычки =)стати именно Ваш комментарии мотивировал эту проблему снова поправить, все ленился. Надеюсь при обновлении до версии 3.7.2 исправлять кавычки не придется =)

  8. Княгиня (greatbattle.ru) says:

    Эх, а мне-таки наоборот — больше нравятся кавычки-ёлочки (кстати, хоть они и называются «французскими», но происхождение ведут из русской древности — как минимум, от 15 века).

    И именно «ёлочки» используются в русской типографике. С ними текст (и сайт) выглядит красивше, опрятнее и благородней. По-учёному! =)

  9. Владимир Демянович (elims.org.ua) says:

    Княгиня, только часто не в те стороны смотрят)

  10. Княгиня (greatbattle.ru) says:

    Кстати, да, есть такая бяка — особенно в комментариях. В постах на моём блоге «вывернутых» кавычек не бывает, а вот в комментах, где мне влом за каждым следить, такое иногда случается. Это происходит потому, что в базу записываются «технические» кавычки, а вордпресс их сам преобразует в ёлочки — по правилам типографики. Но иногда он ошибается, а иногда комментаторы неверно ставят или пропускают пробелы. Я это пыталась одолеть, но но не сумела написать выражение, отличающее кавычки в html-атрибутах от кавычек в обычном тексте. А когда не те кавычки попадают, например, в href — фиговато выходит! Надо будет к этому вернуться и одолеть регулярку.

  11. izeus (izeus.com.ua) says:

    Мне, кстати, тоже не нравятся корявые кавычки. Но попытавшись исправить положение по вашему методу.Надеюсь при обновлении до версии 3.7.2 исправлять кавычки не придется =) . Видать у меня шаблон слишком мудреный, в нем многие файлы связаны между собой. :(
    А я с тех пор как обновился на версию 3.7 не поправлял эти кавычки =)стати именно Ваш комментарии мотивировал эту проблему снова поправить, все ленился. у меня, к сожалению, блог перестал открываться. И это уже не первый раз подобное происходит

  12. partner says:

    Спасибо! помогло.

  13. Alexkrit says:

    Спасибо!!! Помогло. Испробовал оба способа. Всё работает отлично.
    Проблема была не в самих кавычках. Выглядят они хорошо. А вот на ссылках обе кавычки ставились открывающие и это режет глаз.

  14. Iv says:

    Здорово! Прямо то, что было нужно. Спасибо!

Обсудить