Я пытаюсь добавить nofollow
, чтобы добавить внешние ссылки.Если ссылка не имеет атрибута rel
, будет добавлено rel="nofollow"
.Если ссылка уже имеет rel="nofollow"
, то ничего не произойдет, и если ссылка имеет rel=something else
, значение nofollow
также следует добавить.
function nofollow($content) {
$content = preg_replace_callback('/<a[^>]*href=["|\']([^"|\']*)["|\'][^>]*>([^<]*)<\/a>/i',
function($m) {
$parseUrl = parse_url(home_url());
$mydomain = $parseUrl['host'];
if (strpos($m[1], $mydomain) === false) {
return '<a href="'.$m[1].'" rel="nofollow">'.$m[2].'</a>';
} else {
return '<a href="'.$m[1].'">'.$m[2].'</a>';
}
},
$content);
return $content;
}
add_filter('the_content', 'nofollow');
Код успешно добавляет rel=follow
к внешним ссылкам, ноесли для примера ссылка имеет rel="noopener" it will replace it will
rel = follow . Why is it no appending like so?
rel = "noopener nofollow" `