Функция get_comment_author_email()
используется для получения email автора текущего комментария в цикле или по заданному ID комментария. Это полезный инструмент для работы с комментариями на сайте, если необходимо обработать или вывести информацию о комментаторе.
get_comment_author_email( int|WP_Comment $comment_ID = 0 ): string
Параметры
- $comment_ID (int | WP_Comment) — Опциональный. ID или объект комментария, email автора которого необходимо получить. По умолчанию используется текущий комментарий в цикле.
Возвращаемое значение
- Строка — Email автора комментария.
Пример 1: Получение email автора конкретного комментария
Допустим, у нас есть комментарий с ID 2020
, и нам нужно получить email его автора. Этот пример демонстрирует, как использовать функцию для получения этой информации:
$comment_id = 2020;
$author_email = get_comment_author_email( $comment_id );
echo $author_email; // Выведет, например, '[email protected]'
Пример 2: Получение email автора текущего комментария в цикле
Когда вы находитесь в цикле комментариев (например, в шаблоне comments.php
), вы можете получить email автора каждого комментария, не указывая ID:
if ( have_comments() ) {
while ( have_comments() ) {
the_comment();
$author_email = get_comment_author_email();
echo 'Email автора комментария: ' . $author_email . '<br>';
}
}
Этот код пройдет по всем комментариям, получит email каждого автора и выведет его.
Пример 3: Работа с объектом комментария
Функция также поддерживает передачу объекта комментария. Если у вас уже есть объект комментария, передайте его в функцию:
$comment = get_comment( 2020 );
$author_email = get_comment_author_email( $comment );
echo $author_email; // Выведет email автора комментария
Хуки
get_comment_author_email
— Этот фильтр позволяет изменить возвращаемое значение email комментатора перед выводом.
Пример использования фильтра
Если вам нужно изменить email комментатора перед выводом, можно использовать этот хук:
add_filter( 'get_comment_author_email', function( $email, $comment ) {
// Изменить email, если нужно
if ( $comment->comment_ID == 2020 ) {
return '[email protected]';
}
return $email;
}, 10, 2 );
Этот код заменит email автора комментария с ID 2020
на '[email protected]'
.
Заключение
Функция get_comment_author_email()
— это удобный инструмент для работы с комментариями, позволяющий легко получить email автора конкретного комментария. Она поддерживает как передачу ID, так и объекта комментария, что делает её гибкой в использовании.