Публикация в группе: Web-Blog - Блог о блоге на Wordpress!

Категории группы: Wordpress

Задача стоит следующая, сделать все не внутренние ссылки на сайте открывающимися в новом окне, а именно добавить атрибут _blank к внешним ссылкам, к ссылкам ссылающимся на другие сайты/ресурсы! Будем использовать “регулярку” str_replace

Давайте откроем файл functions.php расположенный в каталоге нашей темы/шаблона WordPress и в самом низу данного файла, добавим следующие строки:

// внешние ссылки в новом окне
function autoblank($text) {
	$return = str_replace('href=', 'target="_blank" href=', $text);
	$return = str_replace('target="_blank" href="URL', 'href="URL', $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');

Теперь нам останется в двух местах данного кода, вместо URL написать URL вашего сайта – это что бы внутренние ссылки сайта не открывались в новом окне.

В принципе это все, теперь все ссылки добавленные в комментарии или в контент сайта будут открываться в новом окне!

На этом все, всем терпения и удачи в ваших проектах!

добавлено чуток позже

Для тех кто не любит читать комментарии, продублирую более правильное решение предложенное пользователем "Андрей Plechev" и за это Андрею спасибо, а вот и сам код:

function autoblank($text) {
 
        $search = array(
                '<a',
                'target="_blank" href="URL',
                'target="_blank" href="/',
                'target="_blank" href="#',
                ' target = "_blank">'
        );
        $replace = array(
                '<a target="_blank"',
                'href="URL',
                'href="/',
                'href="#',
                '>'
        );
    $string = str_ireplace($search, $replace, $text);
   
        return $string;
}
add_filter('the_content', 'autoblank');
add_filter('comment_text', 'autoblank');

Данный код также размещаем в нашем functions.php и заменяем в нем URL на свой!

0

Автор публикации

не в сети 7 месяцев

Web-Blog

378
Комментарии: 264Публикации: 15Регистрация: 06-07-2014Продаж/Покупок: 0/0