## Функция GET_COMMENT_AUTHOR_LINK() │ WP 1.5.0
Функция get_comment_author_link() позволяет получить HTML-ссылку на страницу автора текущего комментария.
Эта функция основана на get_comment_author_url() и get_comment_author(), которые используют функцию get_comment(). Если параметр $comment_id не указан, использует��я глобальная переменная комментария.
### Используется в:
- get_comment_author_url()
- get_comment_author()
### Используется функцией:
- comment_author_link()
### Хуки функции
- comment_author_link_rel
- get_comment_author_link
### Возвращаемое значение
Строка. Имя автора комментария или HTML-ссылка на страницу автора.
### Синтаксис использования
```php
get_comment_author_link( $comment_id );
Параметры
$comment_id(int|WP_Comment) — Идентификатор комментария или объект WP_Comment, для которого нужно получить ссылку на автора. По умолчанию используется текущий комментарий.
Примеры использования
1. Получение имени автора комментария в виде ссылки на его сайт
Предположим, что в цикле комментариев нам нужно отобразить имя автора комментария как ссылку на его сайт:
$author = get_comment_author_link();
echo $author;
Результат:
Eugene
Если у автора нет ссылки на сайт, результат будет:
Eugene
2. Указание идентификатора комментария
$author = get_comment_author_link( 76 );
echo $author;
Результат:
Eugene
Изменения в версии
- С 1.5.0 - функция была введена.
- С 4.4.0 - добавлена возможность передавать объект WP_Comment в качестве
$comment_id.
Код функции
function get_comment_author_link( $comment_id = 0 ) {
$comment = get_comment( $comment_id );
if ( ! empty( $comment->comment_ID ) ) {
$comment_id = $comment->comment_ID;
} elseif ( is_scalar( $comment_id ) ) {
$comment_id = (string) $comment_id;
} else {
$comment_id = '0';
}
$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' )
);
}
$rel_parts = apply_filters( 'comment_author_link_rel', $rel_parts, $comment );
$rel = implode( ' ', $rel_parts );
$rel = esc_attr( $rel );
$rel = ! empty( $rel ) ? sprintf( ' rel="%s"', $rel ) : '';
$comment_author_link = sprintf(
'%3$s',
$comment_author_url,
$rel,
$comment_author
);
}
return apply_filters( 'get_comment_author_link', $comment_author_link, $comment_author, $comment_id );
}
Связанные функции
add_comment_meta()clean_comment_cache()get_comment_author()get_comment_author_url()comment_author()comment_author_link()- и другие
Эти функции помогут вам работать с комментариями в WordPress более эффективно и гибко.