wp_rel_nofollow()WP 1.5.0

Добавляет rel="nofollow" ко всем элементам <a> в переданном тексте. Внутренние ссылки пропускаются.

Если ссылка внутренняя (ведет на страницу текущего сайта), то атрибут nofollow добавлен не будет.

Смотрите также:

Хуков нет.

Возвращает

Строку. Отформатированный контент.

Использование

wp_rel_nofollow( $text );
$text(строка) (обязательный)
Контент, который может содержать HTML теги А.
По умолчанию: нет

Примеры

0

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

$text = 'Человеку нужен смех, как цветку солнечный свет. 
Если бы случилось так, что смех вымер, человечество превратилось 
бы в зоосад или общество ангелов - стало скучным, 
угрюмым и застыло в величественном равнодушии. 
Читайте роман Джеймся Крюса: 
<a href="http://flibusta.net/b/162259">Проданный смех</a>.';

$text = wp_rel_nofollow( $text );

echo $text;

// Получи ссылку:
// <a href="http://flibusta.net/b/162259" rel="nofollow">Проданный смех</a>.
0

#2 Добавим всем внешним ссылкам в контенте атрибут nofollow

add_filter( 'the_content', 'true_wp_posts_nofollow' );
function true_wp_posts_nofollow( $content ){
	return stripslashes( wp_rel_nofollow( $content ) );
}

Список изменений

С версии 1.5.0 Введена.

Код wp_rel_nofollow() WP 6.0

function wp_rel_nofollow( $text ) {
	// This is a pre-save filter, so text is already escaped.
	$text = stripslashes( $text );
	$text = preg_replace_callback(
		'|<a (.+?)>|i',
		static function( $matches ) {
			return wp_rel_callback( $matches, 'nofollow' );
		},
		$text
	);
	return wp_slash( $text );
}