Функция get_comment()
в WordPress позволяет получить данные комментария по его ID, объекту или строке, переданной в качестве первого параметра. Возвращаемые данные могут быть представлены в различных форматах: объекте, ассоциативном массиве или числовом массиве.
Если переданный параметр является объектом, то данные комментария кэшируются и проходят через фильтры перед возвратом. В случае, если параметр не передан или пуст, используется глобальная переменная $comment
, если она задана.
get_comment( WP_Comment|string|int $comment = null, string $output = OBJECT ): WP_Comment|array|null
Параметры
$comment
(необязательный):- Тип:
WP_Comment|string|int
- Описание: Комментарий для получения данных. Это может быть ID комментария, объект комментария или строка.
- Значение по умолчанию:
null
.
- Тип:
$output
(необязательный):- Тип:
string
- Описание: Формат возвращаемых данных. Принимает одно из значений:
OBJECT
: данные возвращаются в виде объектаWP_Comment
.ARRAY_A
: данные возвращаются в виде ассоциативного массива.ARRAY_N
: данные возвращаются в виде числового массива.
- Значение по умолчанию:
OBJECT
.
- Тип:
Возвращаемые значения
WP_Comment
: Если выбран форматOBJECT
.array
: Если выбран форматARRAY_A
илиARRAY_N
.null
: Если комментарий не найден.
Пример 1: Получение объекта комментария
Этот пример показывает, как получить объект комментария по его ID и вывести данные комментария.
$comm_id = 11612;
$comment = get_comment( $comm_id );
print_r( $comment );
Выведет:
WP_Comment Object
(
[comment_ID] => 12345
[comment_post_ID] => 6789
[comment_author] => Алексей
[comment_author_email] => [email protected]
[comment_author_url] => http://aleksey.ru
[comment_author_IP] => 192.168.1.1
[comment_date] => 2024-09-16 12:34:56
[comment_content] => Привет! Это тестовый комментарий для демонстрации.
[comment_karma] => 1
[comment_approved] => 1
[comment_agent] => Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
[comment_type] => comment
[comment_parent] => 0
[user_id] => 1
)
Пример 2: Получение имени автора комментария
Чтобы получить имя автора комментария с ID 27, можно использовать следующий код:
$comm_id = 27;
$comment = get_comment( $comm_id );
$name = esc_html( $comment->comment_author );
echo $name;
Пример 3: Получение данных в виде ассоциативного массива
Если необходимо вернуть данные комментария в виде ассоциативного массива, используйте параметр ARRAY_A
:
$comm_id = 27;
$comment = get_comment( $comm_id, ARRAY_A );
$name = esc_html( $comment['comment_author'] );
echo $name;
Пример 4: Получение заголовка и ссылки на пост, к которому относится комментарий
С помощью объекта комментария можно также получить заголовок и ссылку на пост, к которому он относится:
$comment = get_comment( $comment_ID, OBJECT );
$title_post = get_the_title( $comment->comment_post_ID );
$link_post = get_permalink( $comment->comment_post_ID );
echo 'Комментарий к посту: ' . $title_post;
echo 'Ссылка на пост: ' . $link_post;
Заключение
Функция get_comment()
полезна для получения данных комментариев в WordPress в различных форматах. Вы можете использовать ее для извлечения данных в объектном, ассоциативном или числовом формате в зависимости от потребностей вашего проекта.