get_comment() WP 2.0.0

Отримує дані вказаного коментаря із бази даних. Повертає екземпляр класу WP_Comment (умовно можна сказати, що повертаються всі поля таблиці wp_comments ).

Можна вказати у якому форматі повертати дані (як об’єкт/масив). Вказується у другому параметрі $output .

Якщо не було передано жодних параметрів, то буде використана глобальна змінна $comment для визначення даних, що повертаються.

Працює на основі:
WP_Comment()
1 раз – 0.000436 сек
(швидко) | 50000 разів – 0.38 сек
(дуже швидко) |
PHP 7.1.2RC1, WP 4.7.2

Хуки з функції

Повертає

WP_Comment|Массив|null.

  • Об’єкт коментаря або масив даних коментаря залежить від параметра $output .
  • null-якщо не вдалося отримати коментар.

Використання

$ comment = get_comment ($ comment, $ output);
$comment
(число/об’єкт)

ID/об’єкт коментаря, дані якого потрібно отримати.

Передавати потрібно змінну, а чи не число (див. приклади нижче), якщо передати число, наприклад 24, функція викликає помилку.

Типово: null

$output
(рядок)

Формат даних, що повертаються, може бути:

  • OBJECT– Дані повернуться у вигляді об’єкта;
  • ARRAY_A– дані повернуться у вигляді асоціативного масиву, з ключами та відповідними їм значеннями;
  • ARRAY_N– Дані повернуться у вигляді звичайного масиву (ключі затираються).

Типово: OBJECT

Приклади

0

#1 Отримаємо об’єкт коментаря

$ comm_id = 11 612;
$ comm = get_comment ($ comm_id);
print_r ($ comm);

/* Виведе
WP_Comment Object
(
	[comment_ID] => 11612
	[comment_post_ID] => 3477
	[comment_author] => Mseo
	[comment_author_email] => [email protected]
	[comment_author_url] => http://maeo.ru
	[comment_author_IP] => 95.79.52.2
	[comment_date] => 2015-09-01 16:28:33
	[comment_date_gmt] => 2015-09-01 11:28:33
	[comment_content] => Вітаю, вище вказаний код виведення дати коментаря.
	[comment_karma] => 0
	[comment_approved] => 1
	[comment_agent] => Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, як Gecko) Chrome/44.0.2403.157 Safari/537.36
	[comment_type] => comment
	[comment_parent] => 0
	[user_id] => 0
	[children:protected] =>
	[populated_children:protected] =>
	[post_fields:protected] => Array
		(
			[0] => post_author
			[1] => post_date
			[2] => post_date_gmt
			[3] => post_content
			[4] => post_title
			[5] => post_excerpt
			[6] => post_status
			[7] => comment_status
			[8] => ping_status
			[9] => post_name
			[10] => to_ping
			[11] => pinged
			[12] => post_modified
			[13] => post_modified_gmt
			[14] => post_content_filtered
			[15] => post_parent
			[16] => guid
			[17] => menu_order
			[18] => post_type
			[19] => post_mime_type
			[20] => comment_count
		)

)
*/
0

#2 Отримаємо ім’я коментатора коментаря 27:

$ comm_id = 27;
$ comment = get_comment ($ comm_id);
$name = esc_html( $comment->comment_author );
0

#3 Отримаємо дані у вигляді асоціативного масиву:

$ comm_id = 27;
$ comment = get_comment ($ comm_id, ARRAY_A);
$name = esc_html( $comment['comment_author'] );

нотатки

  • використовує функцію: get_page_of_comment() – отримує коментар за ID параметром

  • використовує клас: $wpdb

нотатки

  • Global. WP_Comment. $comment Global comment object.

список змін

З версії 2.0.0Введено.

Код get_comment() WP 6.0.2

function get_comment( $comment = null, $output = OBJECT ) {
	if ( empty( $comment ) && isset( $GLOBALS['comment'] ) ) {
		$comment = $GLOBALS['comment'];
	}

	if ( $comment instanceof WP_Comment ) {
		$_comment = $comment;
	} elseif ( is_object ( $ comment ) ) {
		$_comment = new WP_Comment( $comment );
	} else {
		$_comment = WP_Comment::get_instance( $comment );
	}

	if (! $_comment) {
		return null;
	}

	/**
	 * Fires after a comment is retrieved.
	 *
	 * @ Since 2.3.0
	 *
	 * @param WP_Comment $_comment Comment data.
	 */
	$_comment = apply_filters( 'get_comment', $_comment );

	if ( OBJECT === $output ) {
		return $_comment;
	} elseif ( ARRAY_A === $output ) {
		return $_comment->to_array();
	} elseif ( ARRAY_N === $output ) {
		return array_values( $_comment->to_array() );
	}
	return $_comment;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *