Yoast\WP\SEO\Dashboard\User_Interface\Time_Based_SEO_Metrics
Time_Based_SEO_Metrics_Route::get_time_based_seo_metrics()
Gets the time based SEO metrics.
Метод класса: Time_Based_SEO_Metrics_Route{}
Хуков нет.
Возвращает
WP_REST_Response
. The success or failure response.
Использование
$Time_Based_SEO_Metrics_Route = new Time_Based_SEO_Metrics_Route(); $Time_Based_SEO_Metrics_Route->get_time_based_seo_metrics( $request ): WP_REST_Response;
- $request(WP_REST_Request) (обязательный)
- The request object.
Код Time_Based_SEO_Metrics_Route::get_time_based_seo_metrics() Time Based SEO Metrics Route::get time based seo metrics Yoast 25.1
public function get_time_based_seo_metrics( WP_REST_Request $request ): WP_REST_Response { try { $widget_name = $request->get_param( 'options' )['widget']; switch ( $widget_name ) { case 'query': $request_parameters = new Search_Console_Parameters(); $request_parameters = $this->set_date_range_parameters( $request_parameters ); $request_parameters->set_limit( $request->get_param( 'limit' ) ); $request_parameters->set_dimensions( [ 'query' ] ); $time_based_seo_metrics_container = $this->top_query_repository->get_data( $request_parameters ); break; case 'page': $request_parameters = new Search_Console_Parameters(); $request_parameters = $this->set_date_range_parameters( $request_parameters ); $request_parameters->set_limit( $request->get_param( 'limit' ) ); $request_parameters->set_dimensions( [ 'page' ] ); $time_based_seo_metrics_container = $this->top_page_repository->get_data( $request_parameters ); break; case 'organicSessionsDaily': $request_parameters = new Analytics_4_Parameters(); $request_parameters = $this->set_date_range_parameters( $request_parameters ); $request_parameters->set_dimensions( [ 'date' ] ); $request_parameters->set_metrics( [ 'sessions' ] ); $request_parameters->set_dimension_filters( [ 'sessionDefaultChannelGrouping' => [ 'Organic Search' ] ] ); $request_parameters->set_order_by( 'dimension', 'date' ); $time_based_seo_metrics_container = $this->organic_sessions_daily_repository->get_data( $request_parameters ); break; case 'organicSessionsCompare': $request_parameters = new Analytics_4_Parameters(); $request_parameters = $this->set_date_range_parameters( $request_parameters ); $request_parameters = $this->set_comparison_date_range_parameters( $request_parameters ); $request_parameters->set_metrics( [ 'sessions' ] ); $request_parameters->set_dimension_filters( [ 'sessionDefaultChannelGrouping' => [ 'Organic Search' ] ] ); $time_based_seo_metrics_container = $this->organic_sessions_compare_repository->get_data( $request_parameters ); break; case 'searchRankingCompare': $request_parameters = new Search_Console_Parameters(); $request_parameters = $this->set_date_range_parameters( $request_parameters ); $request_parameters = $this->set_comparison_date_range_parameters( $request_parameters ); $request_parameters->set_dimensions( [ 'date' ] ); $time_based_seo_metrics_container = $this->search_ranking_compare_repository->get_data( $request_parameters ); break; default: throw new Repository_Not_Found_Exception(); } } catch ( Exception $exception ) { return new WP_REST_Response( [ 'error' => $exception->getMessage(), ], $exception->getCode() ); } return new WP_REST_Response( $time_based_seo_metrics_container->to_array(), 200 ); }