Using WordPress ‘comment_author_link_rel’ PHP filter

The comment_author_link_rel WordPress PHP filter allows you to modify the rel attributes of the comment author’s link.

Usage

add_filter('comment_author_link_rel', 'your_custom_function', 10, 2);

function your_custom_function($rel_parts, $comment) {
    // your custom code here
    return $rel_parts;
}

Parameters

  • $rel_parts (string[]): An array of strings representing the rel tags which will be joined into the anchor’s rel attribute.
  • $comment (WP_Comment): The comment object.

More information

See WordPress Developer Resources: comment_author_link_rel

Examples

Add a custom rel attribute

Add a custom rel attribute to the comment author’s link.

add_filter('comment_author_link_rel', 'add_custom_rel_attribute', 10, 2);

function add_custom_rel_attribute($rel_parts, $comment) {
    $rel_parts[] = 'custom-rel';
    return $rel_parts;
}

Remove the ‘nofollow’ rel attribute

Remove the ‘nofollow’ rel attribute from the comment author’s link.

add_filter('comment_author_link_rel', 'remove_nofollow_attribute', 10, 2);

function remove_nofollow_attribute($rel_parts, $comment) {
    $rel_parts = array_diff($rel_parts, ['nofollow']);
    return $rel_parts;
}

Replace ‘external’ rel attribute with ‘internal’

Replace the ‘external’ rel attribute with ‘internal’ for comment author’s link.

add_filter('comment_author_link_rel', 'replace_external_with_internal', 10, 2);

function replace_external_with_internal($rel_parts, $comment) {
    if (($key = array_search('external', $rel_parts)) !== false) {
        $rel_parts[$key] = 'internal';
    }
    return $rel_parts;
}

Set rel attributes based on comment author role

Set rel attributes based on the comment author’s user role.

add_filter('comment_author_link_rel', 'set_rel_by_author_role', 10, 2);

function set_rel_by_author_role($rel_parts, $comment) {
    $user = get_user_by('email', $comment->comment_author_email);
    if ($user && in_array('administrator', $user->roles)) {
        $rel_parts[] = 'admin';
    }
    return $rel_parts;
}

Remove all rel attributes

Remove all rel attributes from the comment author’s link.

add_filter('comment_author_link_rel', 'remove_all_rel_attributes', 10, 2);

function remove_all_rel_attributes($rel_parts, $comment) {
    return [];
}