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));
}
0

#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;
}

список змін

З версії 1.5.0Введено.

Код wp_rel_nofollow() WP 6.0.2

function wp_rel_nofollow( $text ) {
	// Це є Pre-Save Filter, так що текст є ще escaped.
	$text = stripslashes( $text );
	$text = preg_replace_callback(
		'|<a(.+?)>|i',
		static function( $matches ) {
			return wp_rel_callback( $matches, 'nofollow' );
		},
		$text
	);
	return wp_slash($text);
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *