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_id
int|WP_Commentoptional- WP_Comment or the ID of the comment for which to get the author’s link.
Default current comment.
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
Version | Description |
---|---|
4.4.0 | Added the ability for $comment_id to also accept a WP_Comment object. |
1.5.0 | Introduced. |
Add an custom class to comment_author_link using
filters
. When usingget_comment_author_link
this function to fetch comment author link.Just add this code into functions.php