Yoast\WP\SEO\Dashboard\Domain\Search_Rankings

Comparison_Search_Ranking_Data::parse_data()privateYoast 1.0

Parses search ranking data into the expected format.

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

Хуков нет.

Возвращает

Массив<Строку,. int> The parsed data

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

// private - только в коде основоного (родительского) класса
$result = $this->parse_data( $search_ranking_data ): array;
$search_ranking_data(Search_Ranking_Data[]) (обязательный)
The search ranking data to be parsed.

Код Comparison_Search_Ranking_Data::parse_data() Yoast 25.1

private function parse_data( array $search_ranking_data ): array {
	$parsed_data      = [
		'total_clicks'      => 0,
		'total_impressions' => 0,
	];
	$weighted_postion = 0;

	foreach ( $search_ranking_data as $search_ranking ) {
		$parsed_data['total_clicks']      += $search_ranking->get_clicks();
		$parsed_data['total_impressions'] += $search_ranking->get_impressions();
		$weighted_postion                 += ( $search_ranking->get_position() * $search_ranking->get_impressions() );
	}

	if ( $parsed_data['total_impressions'] !== 0 ) {
		$parsed_data['average_ctr']      = ( $parsed_data['total_clicks'] / $parsed_data['total_impressions'] );
		$parsed_data['average_position'] = ( $weighted_postion / $parsed_data['total_impressions'] );
	}

	return $parsed_data;
}