Про то, как эта функция была добавлена в ядро WordPress, можете почитать здесь.
wp_rel_ugc( $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>
Начиная с версии WordPress 5.3 при помощи этой функции фильтруется текст комментариев перед их добавлением в базу данных. То есть в базе данных ссылки уже хранятся с добавленным атрибутом (но без обратных слешей между прочим). Согласитесь, что это правильно, так как было бы нецелосообразно фильтровать тексты каждого комментария перед их выводом на страницу. А что если у вас 500 комментариев на одной странице? 😁👽
Отключить автоматическое добавление атрибута rel="nofollow ugc"
можно при помощи функции remove_filter(), вставленной в например ваш файл темы functions.php
:
remove_filter( 'pre_comment_content', 'wp_rel_ugc', 15 );
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.