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

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

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

Статья написана "по мотивам" твита от Сергея Шелвина.

Твит получил много откликов (комментариев) о целесообразности подобного. Я за target="_blank" на внешних ссылках.

Используем хак

Если вы тоже придерживаетесь мнения, что внешние ссылки должны открываться в новом окне (вкладке) браузера, то на сайтах под WordPress в папке с шаблоном ищем файл functions.php и сразу после знака <?php и с новой строки вставляем следующий код:

// внешние ссылки в новом окне
function autoblank($text) {
$return = str_replace('href=', 'target="_blank" href=', $text);
$return = str_replace('target="_blank" href="http://mojwp.ru', 'href="http://mojwp.ru', $return);
$return = str_replace('target="_blank" href="/', 'href="/', $return);
$return = str_replace('target="_blank" href="#', 'href="#', $return);
$return = str_replace(' target = "_blank">', '>', $return);
return $return;
}
add_filter('the_content', 'autoblank');
add_filter('comment_text', 'autoblank');

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

Все. Не забывайте делать резервные копии файлов с которыми работаете. Я не несу ответственности за ваши действия.

Привет. Меня зовут Виталик и я автор этого блога, а так же Магазина WordPress https://wp-r.ru/.

Отблагодарить Z888279575784 R109400923968 или ЯД 41001651742138

Оказываю услуги по созданию и настройке сайтов на WordPress (верстка, натяжка).

Мои Контакты. Я в Twitter @mojWP. Смотри на Youtube. Читай RSS блога.

Опубликовано 25 комментариев
  1. Андрей (129 комм.) says:
    http://zarobitok.ru/

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

    • Виталий (1675 комм.) says:
      http://mojWP.ru/

      Тот хак на все ссылки действовал. А представленный в данной статье только на внешние, т.к. указываем домен для игнора.

  2. Сергей Шелвин (1 комм.) says:
    http://shelvin.ru

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

  3. Вадим (13 комм.) says:
    http://av-finance.ru/

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

    • Виталий (1675 комм.) says:
      http://mojWP.ru/

      Сходу не подскажу в чем проблема. Нужно видеть.
      Обе эти вещи сейчас установлены на читаемом вами блоге и все работает отлично.

  4. Максим (30 комм.) says:
    http://seoslim.ru

    Супер Виталий, давно искал подобное решение. Спасибо.

  5. Евгений (1 комм.) says:

    закинул в functions.php, свой сайт вписал и нет, ничего не происходит.

  6. Максим (1 комм.) says:
    http://kozachok.net/

    Прописал данный код в своем functions.php не работает, ссылки не открываются в новом окне.

    • Геннадий (2 комм.) says:
      http://altervision.org/

      А у мееня все отлично работает и с первого раза ) Повезло, наверное )

  7. Владимир (1 комм.) says:
    http://kudrim.ru

    Круто! Поставил на двух своих блогах, работает чётко.
    На третьем файл functions.php зашифрован и при любом изменении сайт перестаёт работать =(( никогда такого не встречали?

    выглядит файл так:
    4+oV53q12xy2ie+mp+2UdDMz3D65jqgbdDcxkFyC/GffIYfVEnsIMeVpg3iC//NknOAMCVkIxQja
    8HPEVasAOVnNdpJ95GdTCCg/Wnw9bLLdGjP9ZwTKWOnwBXCKNQnCioPnE9kpDkO15/PA8ePrJDuI
    dckcjFAf0omhIw8Am5cszQ8bQItuas8rw4vATwwfjIu1eiDHj55SinglkaekeQ1dFggd9qLBMjAG
    fxopfo7WhZD0N2IS5mhr4yCKIrDqLsa3ITgY/t/nOGHDB3JO7c2sVwkJbKOqhnStN2aHUKd/agUf
    ns6OBGHyR/7BAyDTFoh5r3r03s2l8HhIn1qMuPQqo1OObZhJLhjelgHJqPXo38MTNz7P1YNYO4at
    4MkeyG1Xk0Z1rEY0JKAWfYZFizGNtY2Pgnlx6tRcoSAAHA+Gy/lSowPr5kdc8x70cGgqY49dSkvx
    WiM/wJBC/huJ2TqIgSlFj4X0xl/SBg0d0BqgUWeS84hD+tjObOOksYzfsGQoLOvk7QLIyU+1Pexs
    pvRPGU49r5JRYiLXNuRYUX2diuxp3KMXts+hlhO7GvAWO2Mu2o6K4+fndqU1vcn96m4/TxmGG5S0
    yLdAKBvcXw6ES2A+I2CZOBDgxeyWA/VnJOJrYWT3cK67hcAHNzuVyFnuvwa630H0T0xU72gM1ScJ
    vkMOFtXe3mPYnQ4XjTq+04G9TdIBgKa52RwFWKl0o1aDwXSzDlQszEBUwkZbT0jIymFiTEnWXTsQ

  8. БлогБегиннер (2 комм.) says:

    При использовании target="_blank" страница перестаёт быть валидной. Я бы рекомендовал вместо target="_blank" использовать конструкцию onclick="return !window.open(this.href)"!window.open(this.href)"
    Тогда код получается валидным

  9. БлогБегиннер (2 комм.) says:

    Сорри, неправильно вставил код. Вот правильная строка:
    onclick="return !window.open(this.href)"

  10. Геннадий (2 комм.) says:
    http://altervision.org/

    Уважаемый Виталик!

    У меня ваши коды ОТЛИЧНО РАБОТАЮТ, Спасибо! Вышлю авторам темы как вариант и для примениния в целом.
    Вот пишут о валидности и предлагают исправить код:
    onclick="return !window.open(this.href)"

    Прошу вас оценить и предложить ВАШ ВАРИАНТ ПОЛНОГО КОДА С УЧЕТОМ ЭТОГО ПРЕДЛОЖЕНИЯ.
    Спасибо!

    🙂

  11. Ира (3 комм.) says:

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

    • Виталий (1675 комм.) says:
      http://mojWP.ru/

      Добрый. Если только вручную ссылкам в статье задавать target

      • Ира (3 комм.) says:

        У меня в записях нужно сделать чтоб "похожие статьи" отрывались в новом окне где это можно в коде поменять или что то вставить?

        • Виталий (1675 комм.) says:
          http://mojWP.ru/

          Все зависит каким образом у вас выводятся похожие записи. Есть несколько плагинов, а есть возможность выводить код.
          Смотрите по ситуации и вставьте target="_blank" в тег ссылки

  12. Ирина (2 комм.) says:
    http://handportal.ru

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

  13. Den (1 комм.) says:
    http://rusdirectory.ru

    Большое человеческое спасибо. Все сразу заработало без всякого гемороя.

  14. Woolf (1 комм.) says:
    http://25guild.ru

    Не заработало =(

  15. Владимир (1 комм.) says:
    http://headphonesbest.ru

    Спасибо большое, заработало 🙂

  16. Илья (1 комм.) says:
    http://yaturfirma.ru/

    То, что надо! Удивился, но удобный способ открывать ссылки в новой вкладке удалось найти далеко не сразу. А здесь все просто и быстро, и без новых плагинов. Спасибо!

  17. Илья (1 комм.) says:

    не работает, увы. внешние ссылки с главной страницы всё равно открываются в текущем окне.

    • Виталий (1675 комм.) says:
      http://mojWP.ru/

      Это решение для тела записей и комментариев. Все работает

  18. ник (3 комм.) says:
    http://delajdengu.ru/

    спасибо все работает испробовал именно то что мне надо

Не держи в себе. Выскажись.

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

© 2011-2016 | mojwp.ru | Копирование материала разрешено только с письменного согласия
WordPress: 14.04MB | MySQL:90 | 0,441sec
Премиальные плагины для CMS WordPress
Магазин WordPress WP-R.ru
Спасибо, не показывайте мне эту штуку больше!
Смотри мои обучающие видео на YouTube
Иван только что купил плагин ELT
https://wp-r.ru/plaginy/elt.html