vasilisaKuz40 16.07.2023 12:33

Как настроить автоматическое добавление атрибута "noopener" для внешних ссылок в WordPress?

Здравствуйте! Я использую WordPress для своего сайта и столкнулась с проблемой при добавлении внешних ссылок. Я заметила, что при открытии ссылки в новом окне или вкладке, в HTML-коде нет атрибута "noopener". Я хочу настроить автоматическое добавление этого атрибута для всех внешних ссылок на моем сайте, чтобы обеспечить безопасность и защиту от атак типа "фишинг".

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


function add_noopener_to_external_links($content) {
    $pattern = '//i';
    $replacement = '$4>';
    $content = preg_replace($pattern, $replacement, $content);
    return $content;
}
add_filter('the_content', 'add_noopener_to_external_links');

Спасибо большое за помощь!

Ответы:

Elena35MAG 16.07.2023 12:57
Если вы хотите автоматически добавить атрибут "noopener" для всех внешних ссылок на вашем сайте WordPress, то вам понадобится использовать фильтр "the_content". Этот фильтр позволяет изменять содержимое записей, включая добавление или изменение атрибутов ссылок. Вот пример кода, который вы можете использовать для настройки автоматического добавления атрибута "noopener" для внешних ссылок в WordPress:

function add_noopener_to_external_links($content) {
    $pattern = '//i'; // Паттерн для нахождения внешних ссылок
    $replacement = ''; // Замена ссылок с добавлением атрибута "noopener"
    $content = preg_replace($pattern, $replacement, $content); // Применение замены к содержимому
    return $content;
}
add_filter('the_content', 'add_noopener_to_external_links'); // Применение фильтра к содержимому записей
В этом примере мы используем регулярное выражение для поиска внешних ссылок. Регулярное выражение ищет `` теги с атрибутом `href`, исключая внутренние ссылки на ваш сайт. Затем мы заменяем найденные ссылки, добавляя атрибут `target="_blank"` для открытия ссылок в новом окне или вкладке, и атрибут `rel="noopener"` для обеспечения безопасности. Наконец, мы применяем эту функцию к фильтру `the_content`, чтобы она автоматически применялась к содержимому записей. Теперь все внешние ссылки на вашем сайте будут иметь атрибут "noopener", что повысит безопасность и защиту от атак типа "фишинг". Надеюсь, этот ответ поможет вам решить проблему. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их!

Добавить ответ