Yoast\WP\SEO\Dashboard\Infrastructure\Search_Console

Site_Kit_Search_Console_Adapter::parse_comparison_response()privateYoast 1.0

Parses a response for a comparison Site Kit API request for Search Analytics.

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

Хуков нет.

Возвращает

Data_Container. The parsed comparison Site Kit API response.

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

// private - только в коде основоного (родительского) класса
$result = $this->parse_comparison_response( $response, ?string $compare_end_date ): Data_Container;
$response(ApiDataRow[]) (обязательный)
The response to parse.
?string $compare_end_date (обязательный)
-

Код Site_Kit_Search_Console_Adapter::parse_comparison_response() Yoast 25.1

private function parse_comparison_response( array $response, ?string $compare_end_date ): Data_Container {
	$data_container                 = new Data_Container();
	$comparison_search_ranking_data = new Comparison_Search_Ranking_Data();

	foreach ( $response as $ranking_date ) {

		if ( ! \is_a( $ranking_date, ApiDataRow::class ) ) {
			throw new Unexpected_Response_Exception();
		}

		$ranking_data = new Search_Ranking_Data( $ranking_date->getClicks(), $ranking_date->getCtr(), $ranking_date->getImpressions(), $ranking_date->getPosition(), $ranking_date->getKeys()[0] );

		// Now split the data into two periods.
		if ( $ranking_date->getKeys()[0] <= $compare_end_date ) {
			$comparison_search_ranking_data->add_previous_traffic_data( $ranking_data );
		}
		else {
			$comparison_search_ranking_data->add_current_traffic_data( $ranking_data );
		}
	}

	$data_container->add_data( $comparison_search_ranking_data );

	return $data_container;
}