get_comment_author_link()WP 1.5.0

Retrieve the HTML link to the URL of the author of the current comment.

Both get_comment_author_url() and get_comment_author() rely on get_comment(), which falls back to the global comment variable if the $comment_id argument is empty.

Return

String. The comment author name or HTML link for author's URL.

Usage

get_comment_author_link( $comment_id );
$comment_id(int|WP_Comment)
WP_Comment or the ID of the comment for which to get the author's link.
Default: current comment

Examples

0

#1 Get the name of the author of the comment as a link to the site

Suppose in the comment loop we need to display the name of the author of the comment as a link to his site:

$author = get_comment_author_link();
echo $author;

/*
Result:
<a href="http://author-example.com/" rel="external nofollow" class="url">Eugene</a>

If the author doesn't have a link to the site, result will be:
Eugene
*/
0

#2 Specify the comment ID

$author = get_comment_author_link( 76 );
echo $author;

// Returns: <a href="http://author-example.com/" rel="external nofollow" class="url">Eugene</a>

Changelog

Since 1.5.0 Introduced.
Since 4.4.0 Added the ability for $comment_id to also accept a WP_Comment object.

get_comment_author_link() code WP 6.5.3

function get_comment_author_link( $comment_id = 0 ) {
	$comment = get_comment( $comment_id );

	$comment_id = ! empty( $comment->comment_ID ) ? $comment->comment_ID : (string) $comment_id;

	$comment_author_url = get_comment_author_url( $comment );
	$comment_author     = get_comment_author( $comment );

	if ( empty( $comment_author_url ) || 'http://' === $comment_author_url ) {
		$comment_author_link = $comment_author;
	} else {
		$rel_parts = array( 'ugc' );
		if ( ! wp_is_internal_link( $comment_author_url ) ) {
			$rel_parts = array_merge(
				$rel_parts,
				array( 'external', 'nofollow' )
			);
		}

		/**
		 * Filters the rel attributes of the comment author's link.
		 *
		 * @since 6.2.0
		 *
		 * @param string[]   $rel_parts An array of strings representing the rel tags
		 *                              which will be joined into the anchor's rel attribute.
		 * @param WP_Comment $comment   The comment object.
		 */
		$rel_parts = apply_filters( 'comment_author_link_rel', $rel_parts, $comment );

		$rel = implode( ' ', $rel_parts );
		$rel = esc_attr( $rel );
		// Empty space before 'rel' is necessary for later sprintf().
		$rel = ! empty( $rel ) ? sprintf( ' rel="%s"', $rel ) : '';

		$comment_author_link = sprintf(
			'<a href="%1$s" class="url"%2$s>%3$s</a>',
			$comment_author_url,
			$rel,
			$comment_author
		);
	}

	/**
	 * Filters the comment author's link for display.
	 *
	 * @since 1.5.0
	 * @since 4.1.0 The `$comment_author` and `$comment_id` parameters were added.
	 *
	 * @param string $comment_author_link The HTML-formatted comment author link.
	 *                                    Empty for an invalid URL.
	 * @param string $comment_author      The comment author's username.
	 * @param string $comment_id          The comment ID as a numeric string.
	 */
	return apply_filters( 'get_comment_author_link', $comment_author_link, $comment_author, $comment_id );
}