Привіт, хлопці. Давненько я не писав нічого цікавого в рубрику 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 );

//клікабельні посилання
//$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? Таких постів, звичайно, валом в інтернетах, але там часто описують непотрібні і зайві плагіни, а мій «джентльменський набір» особливий 😉

З повагою, Олександр Алаєв