Типограф лайт данный плагин отвечает. Автоматические кликабельные ссылки в комментариях WordPress и плагин ВП Типограф Лайт
В чем суть — мне надоело, что в комментариях к посту ссылки, начинающиеся с http:// и www. автоматически становятся кликабельными и от них иногда что-нибудь да отрезается . Это, конечно, круто, но когда тебе надо показать кусок кода или что-то подобное, то возникает проблема, которая иногда не решается даже тегами И .
Решил загуглить «убираем автоматические ссылки из комментариев wordpress ». Нашел, казалось бы, простое решение:
Чтобы раз и навсегда отбить охоту у WordPress делать такую медвежью услугу, достаточно в файле functions.php шаблона прописать в пределах вот такую незамысловатую строку:
Remove_filter("comment_text", "make_clickable", 9);
И автоматических ссылок как не бывало. Enjoy!
Оказалось не все так просто, «гениальное решение» не помогло . Пришлось разбираться дальше.
Я решил сразу же пробежаться по списку установленных плагинов, ведь чаще всего из-за них и возникают разного рода проблемы. И я не ошибся, в описании плагина «ВП Типограф Лайт» была строчка «кликабельные ссылки в комментариях». Что ж, копаться в коде не впервой!
Нам понадобится один единственный файлик: /wp-content/plugins/wp-russian-typograph/wp-russian-typograph.php
Чтобы говорить об одном и том же, определим актуальную версию плагина на данный момент – 2.3.5
Все что нам надо сделать – закомментировать три строчки: 386, 387, 390. Вот так это в итоге будет выглядеть:
//кликабельные ссылки //$text=preg_replace("~(^|\s|-|:| |\()(http(s?)://|(www\.))((\S{25})(\S{5,})(\S{15})([^\)\];"\"!?]))~i", "\\1\\4\\6...\\8\\9", $text); //$text=preg_replace("~(^|\s|-|:|\(| |\xAB)(http(s?)://|(www\.))((\S+)([^\)\];"\"!?]))~i", "\\1\\4\\5", $text);//убираем / в конце ссылок без вложенности //$text = preg_replace("~(]*>[^\/]+)\/~", "$1", $text);
Проблема решена, можно радоваться, но это еще не все. Я бы хотел поговорить о плагине ВП Типограф Лайт.
Типограф Лайт для WordPressСтраница плагина на сайте разработчика находится здесь : http://iskariot.ru/wordpress/typo/ увы, сайт больше не существует:(
Краткое описание
: Легкая версия типографа только с основной функциональностью (рекомендуется для большинства блогов) — обработка кавычек, тире, спецсимволов вне безопасных блоков (pre, code, samp, textarea, script), правка кавычек внутри code, кликабельные ссылки в комментариях. Также правится неправильное форматирование TinyMCE.
Облегченная версия не требует настроек, не сохраняет настройки в базе данных и поддерживает основной функционал, требующийся в обычном блоге. Работает с UTF-8.
Что именно плагин делает и как форматирует, вы можете прочитать по ссылке, которую я привел выше. Я лишь хочу добавить, что этот плагин реально крутой и полезный
. Тексты постов на блоге будут выглядеть красиво, по всем правилам типографики, поверьте, ваши читатели это оценят.
Так что я категорически рекомендую установить данный плагин всем блогерам на WordPress.
Надеюсь, данный пост кому-нибудь да пригодится.
PS Как думаете, стоит ли мне замутить пост про самые необходимые и клевые плагины для WordPress? Таких постов, конечно, валом в интернетах, но там часто описывают ненужные и лишние плагины, а мой «джентльменский набор» особенный;)
Обрабатывать текст перед публикацией вручную - занятие не для слабонервных. Онлайновый типограф - тоже потеря времени. Поэтому самое простое решение - прикручивание к используемому движку автоматического типографа. Для WordPress уже есть вариант от rmcreative, в составе которого есть плагин, выполняющий эту рутинную работу за автора.
Сложность тут в том, что, во-первых, слепое переложение правил «бумажной» типографики на экран может не только не повысить читаемость, но и ухудшить ее. Даже самый умный скрипт не умнее редактора - об этом я говорил и в одной и прошлых заметок о расстановке переносов при использовании justify . Вторая же проблема в том, что применение слишком большого количества правил обработки текста ухудшают производительность операции и увеличивают объем исходного кода (ведь для тех же неразрывных пробелов надо использовать html-entity неразрывного пробела, а в больших конструкциях пользоваться даже не , который не валиден, а ).
На страничке скачивания плагина достаточно подробно описана функциональность (пусть там не все так круто, как у typograf.ru).
Основная функциональность . Теперь все тире между словами и в диалогах - настоящие тире, а не утлый дефис. У цифр, соответственно, - минус, который выровнен по высоте цифр. Вокруг английских слов - английские кавычки, вокруг русских - елочки, вложенные кавычки - лапки. Также, для экономии кода сокращаются пустые последовательности, и кое-чего по мелочи. В заголовках, кстати, точка в конце обрезается - приятная такая мелочь.
Вторая важная вещь в основном функционале - то, что все предыдущие действия не касаются блоков текста внутри , , , а также псевдотегов самого Вордпресса. Более того, внутри производится дополнительная обработка, замена угловых скобок на HTML-сущность, что позволяет легко вставлять код без потерь (и мучений) даже в режиме HTML. Также фиксится проблемы движка - например, с кавычками.
Остальные функции обработки - вставка спецсимволов (копирайты и пр.), неразрывные конструкции (запрет на перенос слов с дефисами, например) и исправления (ошибки в пунктуации, в основном) настраиваются раздельно для заголовков, основного текста и комментариев. Это сделано в первую очередь для того, чтобы избежать необоснованного количества операций над текстом.
Но не только - при применении все того же justify , разрывы получаются еще большими, чем есть. К тому же, не решена проблема с союзами, предлогами и короткими словами. В старом варианте применение этого правила приводило к слишком большим последовательностям неразрывных конструкций, так что сейчас союзы спокойно могут «повиснуть» на строке.
В общем, смело меняйте настройки по умолчанию.
Обработка «ё», акронимов, аббревиатур, списков - это тема других, отдельных плагинов, ВП Типограф такие задачи не решает.
Все остальные опции связаны с обработкой комментариев.
Помимо более правильной обработки абзацев, ссылки в комментариях теперь подсвечиваются, даже если нет вначале http://, а длинные - сокращаются, чтобы не рвать верстку.
Во-первых, можно оставить все, как есть. Тогда комментаторы будут продолжать не пользоваться тегами, пытаться вставить пример кода и удивляться, почему это он не отображается.
Во-вторых, можно включить аналог Markdown. Теперь любой может выделить слово **жирным**, __курсивом__ (а если, скажем, в CSS прописано.comment p em{color:#F00} , то __irony__).
Ну, а в-третьих, можно выбрать Да в опции Разрешить код , и тогда любой введенный тег будет обрабатываться, как в code (т.е. угловая скобка < будет заменяться на