get_comment_meta()WP 2.9.0

Получает метаданные указанного комментария.

Метаданные комментария идентичны произвольным полям у постов и хранятся в аналогичной таблице, только для комментариев - wp_commentmeta. Подробнее про метаданные.

Функция может пригодится для использования в файле шаблона comments.php, чтобы выводить дополнительные данные комментариев.

Работает на основе: get_metadata()
1 раз — 0.000503 сек (медленно) | 50000 раз — 0.12 сек (очень быстро) | PHP 7.0.2, WP 4.4.2

Хуков нет.

Возвращает

Разное.

Если в значении метаполя хранится число оно будет возвращено в виде строки, например, "54"...

  • Вернет false, когда неправильно передан параметр $comment_id.

  • При $single = true
    • строка|массив — когда метаполе есть.
    • '' — когда метаполя нет.
  • При $single = false
    • массив значений метаполей — когда метаполе есть.
    • array() — когда метаполя нет.

Использование

get_comment_meta( $comment_id, $key, $single );
$comment_id(число) (обязательный)
ID комментария, метаданные которого нужно получить.
$key(строка) (обязательный)
Ключ поля, значения которого нужно получить.
$single(логический)
Если установить в true, то функция вернет готовое значение (строку). При false, возвращает array() данных.
О сериализованных данных: если в значении у нас сериализованный массив и мы указывает true, то на выходе получаем собранный из строки массив (array), а не готовое значение (string), а если оставим false, то получим массив в 0-ом индексе которого будет сериализованная строка.
По умолчанию: false

Примеры

0

#1 Получим значение произвольного поля текущего комментария

Получим метаданные vote текущего комментария:

$vote = get_comment_meta ( $comment->comment_ID, 'vote', true );

echo "Проголосовало: $vote";
0

#2 Получим значение метаполя комментария в виде массива

Если сделаем тоже самое без true в третьем аргументе, то получим массив

$vote = get_comment_meta ( $comment->comment_ID, 'vote');

// получим
Array
(
	[0] => 12
)

Список изменений

С версии 2.9.0 Введена.

Код get_comment_meta() WP 6.1.1

function get_comment_meta( $comment_id, $key = '', $single = false ) {
	return get_metadata( 'comment', $comment_id, $key, $single );
}