wp_rel_nofollow()
Додає rel=”nofollow” до всіх елементів <a> у переданому тексті. Внутрішні посилання пропускаються.
Якщо посилання внутрішнє (веде на сторінку поточного сайту), атрибут nofollow доданий не буде.
Дивіться також:
Хуків немає.
Повертає
Строку. Відформатований контент.
Використання
wp_rel_nofollow($text);
- $text
(рядок) (обов’язковий) - Контент, який може містити теги HTML.
Приклади
#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>.
#2 Додамо всім зовнішнім посиланням у контенті атрибут nofollow
add_filter( 'the_content', 'true_wp_posts_nofollow');
function true_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;
}
список змін
| З версії 1.5.0 | Введено. |
Код wp_rel_nofollow() 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);
}