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

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, в случае несоблюдения этого условия в 99% случаях ваш коммент будет удалён, а автор заблокирован. Печалька.