get_comment_author_link( int|WP_Comment $comment_id ): string

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

Description

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.

Parameters

$comment_idint|WP_Commentoptional
WP_Comment or the ID of the comment for which to get the author’s link.
Default current comment.

Return

string The comment author name or HTML link for author’s URL.

More Information

Displays the comment author name or HTML link of the comment author’s URL, given a comment ID.

echo get_comment_author_link( $comment_ID );

Source

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 );
}

Hooks

apply_filters( ‘comment_author_link_rel’, string[] $rel_parts, WP_Comment $comment )

Filters the rel attributes of the comment author’s link.

apply_filters( ‘get_comment_author_link’, string $comment_author_link, string $comment_author, string $comment_id )

Filters the comment author’s link for display.

Changelog

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

User Contributed Notes

  1. Skip to note 2 content

    Add an custom class to comment_author_link using filters. When using get_comment_author_link this function to fetch comment author link.

    Just add this code into functions.php

    // filter for get_comment_author_link
    function wpdocs_custom_get_comment_author_link( $content ) {
    	$extra_classes = 'text-decoration-none text-primary fw-bold mb-0';
    	return preg_replace( '/url/', 'url ' . $extra_classes, $content );
    }
    
    add_filter( 'get_comment_author_link', 'wpdocs_custom_get_comment_author_link', 99 );

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