WC_Comments::get_rating_counts_for_product()public staticWC 3.0.0

Get product rating count for a product. Please note this is not cached.

Метод класса: WC_Comments{}

Хуков нет.

Возвращает

int[].

Использование

$result = WC_Comments::get_rating_counts_for_product( $product );
$product(WC_Product) (обязательный) (передается по ссылке — &)
Product instance.

Список изменений

С версии 3.0.0 Введена.

Код WC_Comments::get_rating_counts_for_product() WC 8.7.0

public static function get_rating_counts_for_product( &$product ) {
	global $wpdb;

	$counts     = array();
	$raw_counts = $wpdb->get_results(
		$wpdb->prepare(
			"
		SELECT meta_value, COUNT( * ) as meta_value_count FROM $wpdb->commentmeta
		LEFT JOIN $wpdb->comments ON $wpdb->commentmeta.comment_id = $wpdb->comments.comment_ID
		WHERE meta_key = 'rating'
		AND comment_post_ID = %d
		AND comment_approved = '1'
		AND meta_value > 0
		GROUP BY meta_value
			",
			$product->get_id()
		)
	);

	foreach ( $raw_counts as $count ) {
		$counts[ $count->meta_value ] = absint( $count->meta_value_count ); // WPCS: slow query ok.
	}

	return $counts;
}