separate_comments()WP 2.7.0

Separates an array of comments into an array keyed by comment_type.

No Hooks.

Return

WP_Comment[]. Array of comments keyed by comment_type.

Usage

separate_comments( $comments );
$comments(WP_Comment[]) (required) (passed by reference — &)
Array of comments

Changelog

Since 2.7.0 Introduced.

separate_comments() code WP 6.5.2

function separate_comments( &$comments ) {
	$comments_by_type = array(
		'comment'   => array(),
		'trackback' => array(),
		'pingback'  => array(),
		'pings'     => array(),
	);

	$count = count( $comments );

	for ( $i = 0; $i < $count; $i++ ) {
		$type = $comments[ $i ]->comment_type;

		if ( empty( $type ) ) {
			$type = 'comment';
		}

		$comments_by_type[ $type ][] = &$comments[ $i ];

		if ( 'trackback' === $type || 'pingback' === $type ) {
			$comments_by_type['pings'][] = &$comments[ $i ];
		}
	}

	return $comments_by_type;
}