Как открывать пункты меню в новой вкладке в WordPress?

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

Я сделал все по инструкции и ура, переключатель появился. Я настроил всё как нужно.

Мне также задали вопрос, а можно автоматизировать открытие всех внешних ссылок в статьях в новом окне.

Конечно можно, кому нужно это, вот вам код плагина (написал на коленке и не проверял работоспособность)

<?php
/*
Plugin Name: Открытие внешних ссылок в новом окне
Description: Открытие всех внешних ссылок в новом окне
Version: 1.0
Author: Parkhomenko Alexander
*/

function wplife_open_external_links_in_new_window($content) {
    $content = preg_replace_callback('/<a[^>]+/', 'wplife_add_target_blank', $content);
    return $content;
}

function wplife_add_target_blank($matches) {
    $link = $matches[0];
    $url = parse_url($link);
    $home_url = parse_url(site_url());

    if(isset($url['host']) && $url['host'] != $home_url['host']) {
        if(!preg_match('/target\s*=\s*[\'"]?_blank[\'"]?/i', $link))
            $link = str_replace('<a ', '<a target="_blank" ', $link);
    }

    return $link;
}

add_filter('the_content', 'wplife_open_external_links_in_new_window');

Этот плагин будет проверять все ссылки на вашем сайте и добавлять атрибут target="_blank" к внешним ссылкам. Сохраните этот код как wplife-open-external-links-in-new-window.php и загрузите на свой сайт в папку wp-content/plugins. Активируйте плагин в админ-панели и все внешние ссылки будут открываться в новом окне.

Оставьте комментарий

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

Пролистать наверх