wp_rel_ugc() – добавляет атрибут rel="nofollow ugc" на ссылки в тексте

Про то, как эта функция была добавлена в ядро WordPress, можете почитать здесь.

wp_rel_ugc( $text )
$text
(строка) Какой-то текст, который может в себе содержать ссылки, а может и не содержать.

Также про эту функцию вам нужно знать следующее:

  • Если атрибут rel уже существует у функции, и даже имеет какое-то значение, то оно останется и удалено не будет.
  • Если атрибут rel уже содержит одно из значений – либо nofollow либо ugc, то будут добавлены только недостающие, а это значит, что может поменяться их порядок.
  • На внутренние ссылки, указывающие на страницы вашего же сайта, атрибут rel добавлен не будет.
  • Функция вставит обратные слэши \ перед двойными кавычками ", одинарными кавычками ' и другими обратными слешами \. Если вам интересно, этот процесс происходит при помощи PHP функции addslashes().

Пример:

$text = 'Привет, это <a href="#">ссылка</a>';
 
echo wp_rel_ugc( $text );
// Привет, это <a href=\"#\" rel=\"nofollow ugc\">ссылка</a>
 
echo stripslashes( wp_rel_ugc( $text ) ); 
// Привет, это <a href="#" rel="nofollow ugc">ссылка</a>

Автоматическое добавление NOFOLLOW и UGC на ссылки в комментариях, а также про отключение этой функции.

Начиная с версии WordPress 5.3 при помощи этой функции фильтруется текст комментариев перед их добавлением в базу данных. То есть в базе данных ссылки уже хранятся с добавленным атрибутом (но без обратных слешей между прочим). Согласитесь, что это правильно, так как было бы нецелосообразно фильтровать тексты каждого комментария перед их выводом на страницу. А что если у вас 500 комментариев на одной странице? 😁👽

Отключить автоматическое добавление атрибута rel="nofollow ugc" можно при помощи функции remove_filter(), вставленной в например ваш файл темы functions.php:

remove_filter( 'pre_comment_content', 'wp_rel_ugc', 15 );

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал