Как открыть ссылку в новом окне

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

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

Для чего это может понадобиться? Посетитель в данный момент находиться на вашем сайте, а в статье или на странице сайта есть внешняя ссылка. Если эта ссылка чем-то заинтересовала посетителя, то он после нажатия на такую внешнюю ссылку попадет на другой сайт.

На другом сайте он может открыть еще несколько страниц и после этого ему будет трудно опять попасть на ваш сайт. Он не дочитал вашу статью, а как снова попасть на ваш сайт не всякий пользователь компьютера сразу поймет, ведь у людей разная подготовка и начинающим бывает не всегда понятно, что нужно делать в этом случае.

В браузере можно переходить по кнопке назад, а посетитель ведь мог вообще закрыть окно на другом сайте, а он ведь хотел дочитать вашу статью, а не ту статью, на которую он случайно попал по внешней ссылке.

Самый простой способ открытия ссылки в новом окне или вкладке — это нажать на ссылку колесиком (средней кнопкой) мыши, после этого ссылка будет открыта в новом окне.

Открыть ссылку в новой вкладке браузера можно вручную вставляя в каждую такую ссылку атрибут «target» со значением «_blank» тэга <a>. В HTML это будет выглядеть таким образом — target=”_blank”. Но таких ссылок может быть очень много, и не всегда запомнишь, в какие внешние ссылки еще не был вставлен этот атрибут.

При добавлении новых ссылок и изображений в статье, в админ-панели WordPress, в текстовом редакторе, есть соответствующие пункты, активация которых позволяет открывать добавленные ссылки и изображения в новом окне.

Есть несколько способов сделать так, чтобы ссылки открывались в новом окне. В этой статье я опишу только те способы, которые работали на моем сайте.

Некоторые способы некорректно работали на моем сайте, в предыдущем шаблоне, поэтому о них я не буду рассказывать. В частности некорректно отображалась главная страница в способе, который требует подключения библиотеки JavaScript — jQuery. Кроме того, этот способ не работал бы при отключении JavaScript.

Как открыть ссылку в новом окне

Для того, чтобы открывать на сайте абсолютно все ссылки в новых окнах или вкладках, потребуется вставить специальный код в файл «Заголовок (header.php)».

Для вставки этого кода нужно войти в «Админ-панель WordPress» => «Внешний вид» => «Редактор» => «Заголовок (header.php)».

В файле «Заголовок (header.php)» между тэгами <head> и </head> необходимо вставить прямо перед закрывающим тэгом </head> вот такой код:

<base target="_blank" />

После вставки этого кода все ссылки будут открываться в новом окне или в новой вкладке. В этом случае открываются все ссылки, не только внешние на другие сайты, но и внутренние ссылки при переходе на страницы внутри самого сайта.

Мне такая настройка открытия страниц в новом окне или во вкладке кажется не очень удобной, потому что при этом открывается множество окон или вкладок в браузере. Но, я знаю, что некоторым, наоборот, будет удобно иметь возможность открывать таким способом внешние и внутренние ссылки на своем сайте.

Плагин Target Blank In Posts And Comments

Плагин Target Blank In Posts And Comments помогает открывать ссылки в комментариях и в постах в новом окне, не затрагивая при этом другие внутренние ссылки на сайте.

Скачать плагин Target Blank In Posts And Comments можно отсюда.

Этот плагин долго не обновлялся, но он хорошо работает на последней версии движка WordPress, и прекрасно справляется со своими обязанностями. Он некоторое время работал и на моем сайте.

Для установки плагина Target Blank In Posts And Comments потребуется войти в «Админ-панель WordPress» => «Плагины» => «Добавить новый» => «Установить плагины» => «Загрузить». После загрузки плагин нужно установить и активировать.

Плагин Target Blank In Posts And Comments не требует никаких настроек и начинает работать сразу после своей активации.

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

Плагин Target Blank In Posts And Comments хорошо справляется со своими функциями, он позволяет задерживать и возвращать посетителей на ваш сайт.

Открытие ссылки с комментариев в новом окне

Если вам необходимо открывать ссылки с комментариями без помощи плагина, то это можно сделать после изменения соответствующего кода. Изменения нужно будет произвести в коде файла «comment-template.php», который находится в папке «wp-includes».

Для этого нужно будет подключиться к своему сайту по FTP соединению с помощью таких программ, как FileZilla или Total Commander. Это также можно сделать с помощью файлового менеджера, который находится в Панели управления вашего хостинга.

Файл «comment-template.php» расположен примерно по такому пути — domains/название вашего сайта/public_htlm/wp-includes/comment-template.php.

Внимание! Перед изменением в файле «comment-template.php» обязательно необходимо сделать его копию. В случае неполадок, после изменения в коде файла, ваш сайт может перестать работать в штатном режиме. В этом случае вам придется заменить измененный вами файл, на сохраненную оригинальную копию этого файла.

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

Этого бы не произошло, если бы я сделал копию файла перед его изменением, потому что я бы сразу заменил нерабочий на работоспособный файл.

Вам нужно будет скопировать файл «comment-template.php» к себе на компьютер и сохранить его. С сохраненного файла необходимо сделать копию и в ней произвести изменения в коде файла, открыв его при помощи текстового редактора Notepad++. Открыть файл можно и в блокноте, но в блокноте будет очень трудно найти нужные строки кода для его изменения.

Далее следует дополнить строку, начинающую с $return = ”<, выражением target=”_blank” (на изображении это выражение уже вставлено в код). У меня в файле comment-template.php этот участок кода со вставленным выражением выглядит таким образом:

function get_comment_author_link( $comment_ID = 0 ) {
	/** @todo Only call these functions when they are needed. Include in if... else blocks */
	$url    = get_comment_author_url( $comment_ID );
	$author = get_comment_author( $comment_ID );

	if ( empty( $url ) || 'http://' == $url )
		$return = $author;
	else
		$return = "<a href='$url' target='_blank' rel='external nofollow' class='url'>"$author</a>";
	return apply_filters('get_comment_author_link', $return);
}

При внесении изменений в этот код, следует внимательно смотреть на кавычки (одинарные или двойные), от этого может зависеть работоспособность вашего сайта. Далее следует заменить файл «comment-template.php» в папке «wp-includes».

После этого вам нужно будет проверить свой сайт на работоспособность. Если страница сайта в это время была открыта, то тогда следует обновить открытую страницу.

Идеальный выбор начинающих и небольших сайтов

Теперь ссылки с комментариев будут открываться в новом окне до обновления версии WordPress. Дело в том, что при обновлении версии CMS WordPress, происходит замена измененного файла comment-template.php, на новый файл comment-template.php.

Поэтому, после обновления версии WordPress, нужно будет снова вставлять target=”_blank” в файл comment-template.php в папке wp-includes.

Использование атрибута rel=”external nofollow”

Атрибут rel=”external” выполняет, точно такую же функцию как атрибут target=”_blank”, который является невалидным согласно спецификации в XHTML. Сейчас произошло объединение атрибута rel=”external” и атрибута rel=”nofollow”, который закрывает ссылки от передачи веса, в один объединенный атрибут rel=”external nofollow”. Как можно заметить выше, в приведенном коде, rel=”external nofollow” уже входит в состав файла WordPress.

Для того, чтобы ссылки с комментаторов сайта открывались в новом окне одного атрибута rel=”external nofollow” будет недостаточно. Еще понадобиться вставить код JavaScript в файл темы, установленной на сайте, иначе, ссылки будут продолжать открываться в этом окне.

Этот код JavaScript нужно будет вставить в файл header.php (Заголовок) перед тегом </head>:

<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>

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

С уважением, Василий Прохоров

скачать амиго бесплатно

Понравилась статья — нажмите на кнопки:

Подписаться на обновления блога

46 комментариев

  1. Ой, Василий. Спасибо… Буду пробовать. Для меня, так сложно все кракозябрены осиливать. Плагином, конечно проще, но, не хочеся блог перегружать.
    А почему неудобно будет, если прописать в заголовке?

    • Ирина, если прописать в заголовке, то открываться будут все страницы в новом окне. Мне, например, это не удобно. По моему мнению лучше, чтобы в новом окне открывались ссылки с комментариев.

  2. Спасибо,что выполнили мою просьбу! Я внесла изменения в редакторе «Заголовок» и теперь все ссылки на моём сайте открываются в новом окне! Я очень благодарна за статью!

    • Я выполнил вашу просьбу Галина. Теперь вы будете возвращать посетителей на ваш сайт.

  3. Василий, как раз думала, как сделать так, чтобы ссылки из виджетов и из комментов (те ссылки, которые под именем комментатора) открывались в новом окне.
    Поставила пока код:

    base target="_blank"

    Но действительно количество открываемых окон будет очень большое. Даже если с главной нажимаешь «читать далее» открывается новое окно, что мне кажется перебором.
    Надо попробовать еще и способом через изменения в comment-template.php
    Открывать ссылки, которые ставятся в посте (статье) в новом окне можно в визуальном редакторе, когда делаешь запись и привязываешь ссылку есть чекбокс «Открывать в новом окне/вкладке», в который нужно поставить галочку, тогда ссылка будет открыта в новом окне.
    Хочу всем также напомнить, что при загрузке фото, так же нужно ставить галочку в чекбокс «Открывать в новом окне/вкладке»
    Теперь поняла, на что нужно обязательно обратить внимание при добавлении кода в виджет.

  4. Как это всё сложно для меня! Я так боюсь что-нибудь испортить, что пользуюсь минимальными знаниями.

    • Марина, если боитесь вставлять код, сделайте это плагином. Его нужно только установить и все. После этого, ссылки со статей и с комментариев будут отрываться в новом окне или в новой вкладке.

  5. Василий, плагин установила, значит посетителей будет больше?

    • Больше посетителей может и не будет, но они будут возвращаться на ваш сайт, если перейдут по ссылкам с вашего сайта.
      Вы не будете терять в этом случае посетителей, а также увеличится время нахождения посетителей на вашем сайте. Это тоже важно.

  6. Василий, а у меня почему-то без всяких настроек всё открывается в новом окне (за очень-очень редким исключением). Почему так происходит?

    • Людмила, наверное уже были сделаны какие-то настройки еще раньше. На вашем сайте все работает правильно.
      По умолчанию ссылки с комментариев открываются в этом окне и посетители переходя по ссылке покидают сайт. Поэтому будет лучше если ссылки с комментариев будут открываться в новом окне.

  7. Вы путаете окна и вкладки, дружище.

    • Не путаю, имею об этом представление. Что будет открыто — вкладка или окно, зависит от настроек браузера.

  8. Добрый день. Пока только вникаю в тему. А куда прописать код или какой плагин поможет, чтобы фотографии в статьях при клике на миниатюру открывались в новом окне?

    • Павел, в редакторе WordPress, после того, как вы добавили изображение в статью, нужно нажать в правом верхнем углу добавленного изображения на миниатюру Редактировать. В открывшемся окне, нажимаете на вкладку Дополнительно. В самом низу в разделе Дополнительные параметры ссылки необходимо отметить флажком пункт Открывать в новом окне, а потом нажать на кнопку Обновить.
      Теперь это изображение, при нажатии на него, будет открываться в новом окне.

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

    • Если нужно открыть в новом окне только одну внешнюю ссылку, то я думаю, что ее нужно найти. Где-то она у вас есть, и в эту ссылку нужно вставить

      target="_blank"

      После этого, она должна будет открываться в новом окне.

    • Постоянная ссылка:

      Когда Вы вошли в раздел «Меню», кликните наверху справа на кнопку «Настройка экрана». Поставьте галочку «Цель ссылки».
      Теперь в сформированном меню (по центру), раскройте меню с произвольной ссылкой. Там появится дополнительная опция «Цель ссылки».
      Выберите из выпадающего меню то, что Вам нужно.

  10. Не люблю когда читаешь блог, тебя перекидывает на новую страничку, а блог закрывается, недружелюбно как-то выглядит, как будто тебя выгоняют с сайта.
    В комментариях у меня итак сделано в новом окне, а в сайдбаре постоянно приходится таргет_бланк писать.
    Наверное нужно попробовать ваш вариант хедере.

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

      • Сделала в хедере, но быстро надолело, что по 10 окон на странице открываются. Переделала на открытие в новом окне только комментов.

        • Меня тоже это раздражало, поэтому у себя я сделал по другому. Вот только приходится менять файл после обновления WordPress.

  11. Меня интересует, возможно ли, чтоб только открывались в новом окне фотографии?

    • Если фотографии в статье, то нужно в редакторе WordPress нажать на фотографию, а потом вверху слева на первую иконку. Открывается окно, в котором потребуется нажать на вкладку Дополнительно.
      В самом низу находятся Дополнительные параметры ссылки, там ставите галку напротив пункта Открывать в новом окне.

  12. А я в редакторе выбираю вариант в новом окне и все. Каждый раз, когда делаю ссылки.
    А вообще меня все достало. Достали глюки без причины.

    • Ольга, здесь не об этом идет речь. С редактором все понятно. Это когда я нажимаю на твоем сайте на имя комментатора, то я ухожу на его сайт в этом окне, где был твой сайт. И, не факт, что я вернусь обратно. А, если переход на другой сайт будет в новом окне или вкладке, то твой сайт в это время будет открытым. Поэтому посетитель после просмотра другого сайта вернется на твой сайт, чтобы его закрыть, и может посмотрит на твоем сайте еще кое-что.

  13. Сделала на всех 4-х сайтах, просто в хедер строчку: просто и быстро. Спасибо, так мне понравилось. Будем смотреть, как увеличится время просмотра страничек.

    • Если вы сделали открытие всех страниц в новом окне, то увеличится не только время просмотра, но и количество просмотров страниц.

  14. Василий, спасибо за третий способ! Раньше была вынуждена использовать, т.к. иначе настроить открытие комментариев в новом окне не получалось. Теперь всё ОК!
    Надеюсь, яваскрипт не сильно скажется на скорости загрузки страницы.

    • Я раньше вставлял в WordPress атрибут target=_blank, но после обновления движка, этот код приходилось вставлять заново. При использовании последнего способа уже не придется вносить изменения в файлы движка, после его обновления.
      Установка кода JavaScript на скорость загрузки не сильно повлияет. По крайней мере, мы этого визуально не заметим. Плагин Target Blank In Posts And Comments также оказывает на загрузку минимальное влияние.

      • Мне, скорее всего, придётся вносить изменения после обновления темы, а она обновляется регулярно. Я что-то не хочу создавать родительскую тему. Может и зря.
        Думаю, что скрипт лучше плагина. Особенно, если всё корректно работает.

  15. Добрый день, еще раз про вопрос «Как сделать, чтобы фотографии в статьях при клике на миниатюру открывались в новом окне?». Ясно, что можно отредактировать каждую фотографию, добавив атрибут target=_blank (вручную или через редактирование — не важно). Но это долго, неудобно.
    Может можно добавить этот атрибут централизовано, как мы делаем это для комментариев в файле comment-template.php? За вставку картинок в статьи тоже ведь отвечает какой-то код в каком-то файле…

    • Для всех изображений, не знаю, возможно ли такое. Я встречал коды для отдельных файлов, но там все равно нужно было добавлять вручную код с размерами оригинального изображения. Это реализуется даже более трудно, чем через добавление атрибута target=_blank.

  16. Этот скрипт не работает:

    function externalLinks() {
        var doc = document;
        if (!doc.getElementsByTagName) return;
        var links = doc.getElementsByTagName("a");
        for (var i=0; i= 0 ){
            link.target = "_blank";
            link.title = "Откроется в новом окне"
    
         }
       }
    }
    window.onload = externalLinks;

    правильный рабочий скрипт:

    function externalLinks() {
       var d = document;
       if (!d.getElementsByTagName) return;
         var links = d.getElementsByTagName("a");
         for (var i=0; i= 0 ){
              link.target = "_blank";
          }
        }
     }
      window.onload = externalLinks;
    • Этот «нерабочий» скрипт одно время работал на моем сайте, когда там была установлена старая тема.

  17. Здравствуйте, подскажите как сделать, чтобы ссылки отрывались в новом окне только в записях?

    • Ира, для этого нужно будет добавить в ссылку target=_blank. Это можно сделать при помощи визуального редактора.

  18. Что то ты на этом заморочился сильно, таргет бланк и все будет в порядке.

    • Прежде, чем оставлять комментарий, неплохо было бы сначала прочитать статью, чтобы понять, что имеется ввиду.

      • Да я прочитал, сейчас увидел что пост 2012 года, данная функция уже присутствует в движке. А так спасибо за статью.

  19. А если есть страница с множеством фотографий (не галерея а просто страница), и хотелось чтобы кликая по фото страница вложения открывалась в новой вкладке, но при этом, при нажатии в меню на другую страницу, новой вкладки не было, как так сделать? Чтобы страницы открывались в этой же вкладке, а файлы находящиеся на страницах — в новой? Как применить taget _blank одновременно ко всем фотографиям страницы, не вручную же к каждой ставить галочку «Открывать в новой вкладке»?

  20. Доброго времени. Я сделала все по инструкции. У меня все отлично работает. Но когда попросила проверить знакомых, у кого-то тоже все открывается в других окнах, а у некоторых ссылки по прежнему открываются в том же окне.
    Василий, с чем это может быть связано? Что еще можно сделать?

    • Гузель, сбросьте кэш в плагине кеширования, а вашим знакомым нужно сбросить кэш в браузере.

  21. Статья ваша мне помогла тем, что я смог наконец-то сделать ссылки открывающимися в другом окне, что не может не радовать. В head вставил и всё заиграло новыми красками, благодарю, всяческих благ вам)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *