Описание
Функция возвращает данные определенного комментария (указывается ID) из Базы Данных, т.е. возвращает строку таблицы wp_comments. Функции можно указать в каком формате возвращать данные (как объект или массив). Формат вывода указывается во втором параметре $output.
Если функции не было передано никаких параметров, то будет использована глобальная переменная $comment для определения возвращаемых данных.
Использование
<?php get_comment($id, $output); ?>
Параметры
$comment
(объект/число) (обязательный) Идентификатор (ID) комментария, данные которого нужно получить. Передавать нужно переменную содержащую ID комментария, а не число (см. примеры ниже), если передать число, например 24, то функция вызовет ошибку.
По умолчанию: нет
$output
(строка) Формат возвращаемых данных, может быть: OBJECT - данные вернутся в виде объекта, ARRAY_A - данные вернутся в виде ассоциативного массива, с ключами и соответствующими им значениями, ARRAY_N - данные вернутся в виде обычного массива (ключи затираются).
По умолчанию: OBJECT
Возвращаемые значения
comment_ID
(число) ID комментария
comment_post_ID
(число) ID поста к которому привязан этот комментарий
comment_author
(строка) Имя автора комментария
comment_author_email
(строка) mail автора комментария
comment_author_url
(строка) Web-страничка/сайт автора комментария
comment_author_IP
(строка) IP с которого был оставлен комментарий
comment_date
(строка) Дата комментария в MySQL формате YYYY-MM-DD HH:MM:SS (c учетом временного пояса)
comment_date_gmt
(строка) Дата комментария в MySQL формате YYYY-MM-DD HH:MM:SS (время сервера)
comment_content
(строка) Текст комментария
comment_karma
(число) Карма - значения поля karma
comment_approved
(строка) Статус комментария (0, 1 или 'spam')
comment_agent
(строка) Данные об Агенте комментирующего (браузер, ОС и т.д.)
comment_type
(строка) Тип комментария (pingback|trackback), если значение пустое, то это обычный комменатарий
comment_parent
(строка) ID родительского комментария (отличается от нуля, если этот комментарий был ответом на какой-либо другой коммент)
user_id
(число) ID автора комментария. (отличается от нуля, если комментарий оставлен зарегистрированным пользователем)
Примеры
Если нам нужно получить имя комментатора комментария 27 (данные будут возвращены в виде объекта):
<?php $id27 = 27; $comment27 = get_comment($id27); $name = $comment27->comment_author; ?>
Тоже самое, но в виде ассоциативного массива:
<?php $id27 = 27; $comment27 = get_comment($id27, ARRAY_A); $name = $comment27['comment_author']; ?>
Как правильно передавать параметр ID:
<?php // Верно: параметр ID передан в виде переменной $the_comment = & get_comment( $dummy_id = 7 ); // Неправильно (вызовет ошибку): параметр ID передан в виде числа $the_comment = & get_comment( 7 ); ?>
На заметку
- использует функцию: get_page_of_comment() - получает комментарий по ID параметру
- использует класс: $wpdb
get_comment()
из файла: /wp-includes/comment.php WP 3.3.2function &get_comment(&$comment, $output = OBJECT) {
global $wpdb;
$null = null;
if ( empty($comment) ) {
if ( isset($GLOBALS['comment']) )
$_comment = & $GLOBALS['comment'];
else
$_comment = null;
} elseif ( is_object($comment) ) {
wp_cache_add($comment->comment_ID, $comment, 'comment');
$_comment = $comment;
} else {
if ( isset($GLOBALS['comment']) && ($GLOBALS['comment']->comment_ID == $comment) ) {
$_comment = & $GLOBALS['comment'];
} elseif ( ! $_comment = wp_cache_get($comment, 'comment') ) {
$_comment = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_ID = %d LIMIT 1", $comment));
if ( ! $_comment )
return $null;
wp_cache_add($_comment->comment_ID, $_comment, 'comment');
}
}
$_comment = apply_filters('get_comment', $_comment);
if ( $output == OBJECT ) {
return $_comment;
} elseif ( $output == ARRAY_A ) {
$__comment = get_object_vars($_comment);
return $__comment;
} elseif ( $output == ARRAY_N ) {
$__comment = array_values(get_object_vars($_comment));
return $__comment;
} else {
return $_comment;
}
}Связанные Функции
Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.
Говорят переезд 3-м пожарам равен, а слова "переезд" и "грузчики" во время переезда звучать больше всех остальных и это логично. Любой переезд сложен тем что нужно все собрать, упаковать, и перевезти. Казалось бы ничего сложного, но это не так.