Плагин wordpress — target blank для ссылок

от автора

в
Время чтения: 1 мин.

Создать простой плагин для WordPress, который добавляет атрибут target="_blank" ко всем внешним ссылкам в контенте, довольно просто. Вот пример кода для такого плагина:

Шаги для создания плагина:

  1. Создайте папку для плагина в директории wp-content/plugins/. Назовите её, например, external-links-target-blank.
  2. Внутри этой папки создайте файл external-links-target-blank.php.
  3. Вставьте следующий код в этот файл:
<?php
/*
Plugin Name: External Links Target Blank
Description: Добавляет атрибут target="_blank" ко всем внешним ссылкам в контенте.
Version: 1.0
Author: Ваше имя
*/

function eltb_add_target_blank_to_external_links($content) {
    // Регулярное выражение для поиска внешних ссылок
    $pattern = '/<a(.*?)href=["\'](https?:\/\/[^"\']+)["\'](.*?)>/i';

    // Замена ссылок с добавлением target="_blank"
    $content = preg_replace_callback($pattern, function($matches) {
        // Проверяем, есть ли уже атрибут target
        if (strpos($matches[0], 'target=') === false) {
            return '<a' . $matches[1] . 'href="' . $matches[2] . '" target="_blank"' . $matches[3] . '>';
        } else {
            // Если атрибут target уже есть, заменяем его на target="_blank"
            return preg_replace('/target=["\']_?[^"\']*["\']/', 'target="_blank"', $matches[0]);
        }
    }, $content);

    return $content;
}

// Применяем функцию к контенту
add_filter('the_content', 'eltb_add_target_blank_to_external_links');

Как работает этот плагин:

  1. Регулярное выражение: Плагин ищет все ссылки (<a>) в контенте, которые ведут на внешние ресурсы (начинаются с http или https).
  2. Добавление target="_blank": Если у ссылки нет атрибута target, он добавляется. Если атрибут уже есть, он заменяется на target="_blank".
  3. Фильтр the_content: Плагин применяет эту функцию ко всему контенту, который выводится через the_content().

Установка плагина:

  1. Загрузите папку external-links-target-blank в директорию wp-content/plugins/.
  2. Перейдите в админ-панель WordPress.
  3. Перейдите в раздел Плагины.
  4. Найдите плагин External Links Target Blank и активируйте его.

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

Примечания:

  • Плагин не изменяет ссылки в виджетах или других областях, только в основном контенте (через the_content).
  • Если вам нужно обрабатывать ссылки в других местах (например, в виджетах), можно добавить дополнительные фильтры, такие как widget_text или comment_text.

Этот плагин простой и легковесный, но он отлично справляется с задачей добавления target="_blank" к внешним ссылкам.


Комментарии

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

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

Сколько будет 6 + 5?