_make_clickable_rel_attr( string $url ): string

In this article

Helper function used to build the “rel” attribute for a URL when creating an anchor using make_clickable() .

Parameters

$urlstringrequired
The URL.

Return

string The rel attribute for the anchor or an empty string if no rel attribute should be added.

Source

function _make_clickable_rel_attr( $url ) {
	$rel_parts        = array();
	$scheme           = strtolower( wp_parse_url( $url, PHP_URL_SCHEME ) );
	$nofollow_schemes = array_intersect( wp_allowed_protocols(), array( 'https', 'http' ) );

	// Apply "nofollow" to external links with qualifying URL schemes (mailto:, tel:, etc... shouldn't be followed).
	if ( ! wp_is_internal_link( $url ) && in_array( $scheme, $nofollow_schemes, true ) ) {
		$rel_parts[] = 'nofollow';
	}

	// Apply "ugc" when in comment context.
	if ( 'comment_text' === current_filter() ) {
		$rel_parts[] = 'ugc';
	}

	$rel = implode( ' ', $rel_parts );

	/**
	 * Filters the rel value that is added to URL matches converted to links.
	 *
	 * @since 5.3.0
	 *
	 * @param string $rel The rel value.
	 * @param string $url The matched URL being converted to a link tag.
	 */
	$rel = apply_filters( 'make_clickable_rel', $rel, $url );

	$rel_attr = $rel ? ' rel="' . esc_attr( $rel ) . '"' : '';

	return $rel_attr;
}

Hooks

apply_filters( ‘make_clickable_rel’, string $rel, string $url )

Filters the rel value that is added to URL matches converted to links.

Changelog

VersionDescription
6.2.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.