wp_targeted_link_rel() WordPress Function
The wp_targeted_link_rel() function enables you to specify the relationship between the current page and the target page of a link. This is useful for indicating to search engines whether a link should be followed or not.
wp_targeted_link_rel( string $text ) #
Adds rel="noopener" to all HTML A elements that have a target.
Parameters
- $text
(string)(Required)Content that may contain HTML A elements.
Return
(string) Converted content.
Source
File: wp-includes/formatting.php
function wp_targeted_link_rel( $text ) {
// Don't run (more expensive) regex if no links with targets.
if ( stripos( $text, 'target' ) === false || stripos( $text, '<a ' ) === false || is_serialized( $text ) ) {
return $text;
}
$script_and_style_regex = '/<(script|style).*?<\/\\1>/si';
preg_match_all( $script_and_style_regex, $text, $matches );
$extra_parts = $matches[0];
$html_parts = preg_split( $script_and_style_regex, $text );
foreach ( $html_parts as &$part ) {
$part = preg_replace_callback( '|<a\s([^>]*target\s*=[^>]*)>|i', 'wp_targeted_link_rel_callback', $part );
}
$text = '';
for ( $i = 0; $i < count( $html_parts ); $i++ ) {
$text .= $html_parts[ $i ];
if ( isset( $extra_parts[ $i ] ) ) {
$text .= $extra_parts[ $i ];
}
}
return $text;
}
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
| Version | Description |
|---|---|
| 5.6.0 | Removed 'noreferrer' relationship. |
| 5.1.0 | Introduced. |