get_comment_meta()
Получает метаданные указанного комментария.
Метаданные комментария идентичны произвольным полям у постов и хранятся в аналогичной таблице, только для комментариев - 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
Примеры
#1 Получим значение произвольного поля текущего комментария
Получим метаданные vote
текущего комментария:
$vote = get_comment_meta ( $comment->comment_ID, 'vote', true ); echo "Проголосовало: $vote";
#2 Получим значение метаполя комментария в виде массива
Если сделаем тоже самое без true в третьем аргументе, то получим массив
$vote = get_comment_meta ( $comment->comment_ID, 'vote'); // получим Array ( [0] => 12 )
Список изменений
С версии 2.9.0 | Введена. |
Код get_comment_meta() get comment meta WP 6.5.2
function get_comment_meta( $comment_id, $key = '', $single = false ) { return get_metadata( 'comment', $comment_id, $key, $single ); }