Відкриваємо посилання коментаторів в новому вікні браузера

Поширити

Сьогодні хочу розповісти про один дуже важливий елемент при налаштуванні коментарів на своєму блозі – для чого потрібно робити так, щоб посилання на сайт коментатора завжди відкривалися в новому вікні (вкладці)?

Стандартне налаштування WordPress не передбачає цю функцію, тому на більшості блогів, на які мене заносить, цього немає. Коли відвідувач читає коментарі до статті і зацікавиться тим чи іншим коментатором, бачить, що у нього активна посилання в імені, він просто натискає на неї і в цьому ж вікні переходить на його сторінку.

Тим самим він запросто втрачає ваш сайт, який тільки що переглядав. Щоб збільшити шанс відвідувачам не втратити з виду ваш сайт, потрібно зробити так, щоб посилання відкривалися в новому вікні.

Варіант 1

Реалізувати цю функцію можна за допомогою невеликого скрипта. Просто скопіюйте цей код у файл footer.php перед закриваючим тегом </body>. Відразу ж скрипт може не заробити, так як сторінки кешуються. Почистіть кеш і спробуйте ще раз.

<!– Відкривати посилання коментарів в новому вікні –>
<script type=”text/javascript”>
function externalLinks() {
var doc = document;
if (!doc.getElementsByTagName) return;
var links = doc.getElementsByTagName(“a”);
for (var i=0; i<links.length; i++) {
var link = links[i];
if (link.getAttribute(“href”) && (link.getAttribute(“rel”) != null)
&& link.getAttribute(“rel”).indexOf(“external”) >= 0 ){
link.target = “_blank”;
link.title = “Відкриється у новому вікні”
}
}
}
window.onload = externalLinks;
</script>
<!–/ Відкривати посилання коментарів в новому вікні –>

Варіант 2

У файлі function.php додати дві функції.

1. Відкриває посилання на сайт коментаторів в новому вікні.

add_filter( ‘get_comment_author_link’, ‘wfm_add_author_target’ );
function wfm_add_author_target($link){
return preg_replace(“#&lt;a([^&gt;#]+)&gt;(.+?)#”, “&lt;a$1 target=’_blank’&gt;$2”, $link);
}

2. Відкриває посилання в коментарях в новому вікні.

add_filter( ‘comment_text’, ‘wfm_add_comment_target’ );
function wfm_add_comment_target($comment){
return preg_replace(“#&lt;a([^&gt;#]+)&gt;(.+?)#”, “&lt;a$1 target=’_blank’&gt;$2”, $comment);
}

Залишити відповідь

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.