PHP

Автоматические кликабельные ссылки в комментариях WordPress и плагин ВП Типограф Лайт

Привет, ребята. Давненько я не писал ничего интересного в рубрику WordPress. Но вот на прошлой неделе возникла небольшая проблема, решением которой я и хотел бы поделиться.

В чем суть — мне надоело, что в комментариях к посту ссылки, начинающиеся с http:// и www. автоматически становятся кликабельными и от них иногда что-нибудь да отрезается. Это, конечно, круто, но когда тебе надо показать кусок кода или что-то подобное, то возникает проблема, которая иногда не решается даже тегами <pre> и <code>.

Решил загуглить «убираем автоматические ссылки из комментариев 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. Вот так это в итоге будет выглядеть:/p>
		///кликабельные ссылки
		//$text=preg_replace("~(^|\s|-|:| |\()(http(s?)://|(www\.))((\S{25})(\S{5,})(\S{15})([^\<\s.,>)\];'\"!?]))~i", "\\1<a href=\"http\\3://\\4\\5\">\\4\\6...\\8\\9</a>", $text);
		//$text=preg_replace("~(^|\s|-|:|\(| |\xAB)(http(s?)://|(www\.))((\S+)([^\<\s.,>)\];'\"!?]))~i", "\\1<a href=\"http\\3://\\4\\5\">\\4\\5</a>", $text);
 
		//убираем / в конце ссылок без вложенности
		//$text = preg_replace( "~(<a[^>]*>[^\/]+)\/<\/a>~", "$1</a>", $text );

Все, отныне ссылки в комментариях никак обрабатываться не будут.

Проблема решена, можно радоваться, но это еще не все. Я бы хотел поговорить о плагине ВП Типограф Лайт.
Типограф Лайт для Wordpress

Страница плагина на сайте разработчика находится здесь: http://iskariot.ru/wordpress/typo/ увы, сайт больше не существует :(

Краткое описание: Легкая версия типографа только с основной функциональностью (рекомендуется для большинства блогов) — обработка кавычек, тире, спецсимволов вне безопасных блоков (pre, code, samp, textarea, script), правка кавычек внутри code, кликабельные ссылки в комментариях. Также правится неправильное форматирование TinyMCE.
Облегченная версия не требует настроек, не сохраняет настройки в базе данных и поддерживает основной функционал, требующийся в обычном блоге. Работает с UTF-8.

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

Надеюсь, данный пост кому-нибудь да пригодится.

PS Как думаете, стоит ли мне замутить пост про самые необходимые и клевые плагины для WordPress? Таких постов, конечно, валом в интернетах, но там часто описывают ненужные и лишние плагины, а мой «джентльменский набор» особенный ;)
Теги:
ссылки, комментариях, WordPress, плагина, плагин, Типограф, replace, иногда, typograph, нибудь, Чтобы, russian, блоге, постов, конечно, плагины, кавычек, проблема, будут, ссылок, версия, wordpress, хотел, убираем, выглядеть, типографа, функциональностью, обработка, textarea, script, правка, внутри, блоков, спецсимволов, большинства
Добавлено: 24 Августа 2013 01:46:00 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...