Функция WP_REL_NOFOLLOW() WordPress: добавление атрибута rel=”nofollow”

# Функция WP_REL_NOFOLLOW() в WordPress

Функция WP_REL_NOFOLLOW() добавляет атрибут rel="nofollow" ко всем HTML элементам <a> (ссылкам) в содержимом.

## Использование функции

```php
wp_rel_nofollow( $text );

Параметры

  • $text (string, обязательный) — содержимое, которое может содержать HTML элементы <a>.

Примеры использования

Пример 1: Добавление атрибута rel="nofollow" ко всем ссылкам в тексте

$text = 'Человеку нужно смеяться, как цветку нужно солнце.
Если бы смех стал исчезать, человечество стало бы скучным,
угрюмым и замерло бы в величественном безразличии.
Прочитайте роман Джеймса Крюса:
Проданный смех';

$text = wp_rel_nofollow( $text );

echo $text;

// Результат будет:
// Проданный смех.

Пример 2: Добавление атрибута nofollow ко всем внешним ссылкам в содержимом

add_filter('the_content', 'wp_posts_nofollow');

function wp_posts_nofollow($content) {
    return stripslashes(wp_rel_nofollow($content));
}

Пример 3: Улучшение обработки внешних ссылок

В этом примере мы также добавим атрибут target="_blank", чтобы ссылки открывались в новой вкладке.

add_filter('the_content', 'external_links_sanitizer');

function external_links_sanitizer($content) {
    $content = wp_unslash(wp_rel_nofollow($content));
    $content = str_replace('rel="nofollow"', 'target="_blank" rel="nofollow noindex noopener"', $content);
    return $content;
}

Возвращаемое значение

Функция возвращает строку с преобразованным содержимым.

История изменения

Функция wp_rel_nofollow() была введена в версии 1.5.0 WordPress.

Код функции

Функция определена в файле wp-includes/formatting.php и выглядит следующим образом:

function wp_rel_nofollow($text) {
    // Это фильтр перед сохранением, текст уже экранирован.
    $text = stripslashes($text);
    $text = preg_replace_callback(
        '||i',
        static function($matches) {
            return wp_rel_callback($matches, 'nofollow');
        },
        $text
    );
    return wp_slash($text);
}

Связанные функции

  • links_add_target() — добавляет атрибут target к ссылкам.
  • make_clickable() — делает текстовые ссылки кликабельными.

Leave a Reply

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