wp_rel_nofollow()
Добавляет rel="nofollow" ко всем элементам <a> в переданном тексте. Внутренние ссылки пропускаются.
Если ссылка внутренняя (ведет на страницу текущего сайта), то атрибут nofollow добавлен не будет.
Смотрите также:
Работает на основе: wp_rel_callback()
Хуков нет.
Возвращает
Строку
. Отформатированный контент.
Использование
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', '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; }
Список изменений
С версии 1.5.0 | Введена. |
Код wp_rel_nofollow() wp rel nofollow WP 6.7.2
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 ); }