WordPress Version: 5.8
/**
* Retrieves comment data given a comment ID or comment object.
*
* If an object is passed then the comment data will be cached and then returned
* after being passed through a filter. If the comment is empty, then the global
* comment variable will be used, if it is set.
*
* @since 2.0.0
*
* @global WP_Comment $comment Global comment object.
*
* @param WP_Comment|string|int $comment Comment to retrieve.
* @param string $output Optional. The required return type. One of OBJECT, ARRAY_A, or ARRAY_N, which
* correspond to a WP_Comment object, an associative array, or a numeric array,
* respectively. Default OBJECT.
* @return WP_Comment|array|null Depends on $output value.
*/
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;
}