Yoast\WP\SEO\Dashboard\User_Interface\Tracking

Setup_Steps_Tracking_Route::track_setup_steps()publicYoast 1.0

Stores tracking information.

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

Хуков нет.

Возвращает

WP_REST_Response|WP_Error. The success or failure response.

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

$Setup_Steps_Tracking_Route = new Setup_Steps_Tracking_Route();
$Setup_Steps_Tracking_Route->track_setup_steps( $request );
$request(WP_REST_Request) (обязательный)
The request object.

Код Setup_Steps_Tracking_Route::track_setup_steps() Yoast 25.1

public function track_setup_steps( WP_REST_Request $request ) {
		$data = [
			'setup_widget_loaded'                => $request->get_param( 'setupWidgetLoaded' ),
			'first_interaction_stage'            => $request->get_param( 'firstInteractionStage' ),
			'last_interaction_stage'             => $request->get_param( 'lastInteractionStage' ),
			'setup_widget_temporarily_dismissed' => $request->get_param( 'setupWidgetTemporarilyDismissed' ),
			'setup_widget_permanently_dismissed' => $request->get_param( 'setupWidgetPermanentlyDismissed' ),
		];

		// Filter out null values from the data array.
		$data = \array_filter(
			$data,
			static function ( $value ) {
				return $value !== null;
			}
		);

		// Check if all values are null then return an error that no valid params were passed.
	if ( empty( $data ) ) {
		return new WP_Error(
			'wpseo_set_site_kit_usage_tracking',
			\__( 'No valid parameters were passed.', 'wordpress-seo' ),
			[ 'status' => 400 ]
		);
	}

	$result = true;
	foreach ( $data as $key => $value ) {
		try {
			$result = $this->setup_steps_tracking_repository->set_setup_steps_tracking_element( $key, $value );
		} catch ( Exception $exception ) {
			return new WP_Error(
				'wpseo_set_site_kit_usage_tracking',
				$exception->getMessage(),
				(object) []
			);
		}
		if ( ! $result ) {
			break;
		}
	}

	return new WP_REST_Response(
		[
			'success' => $result,
		],
		( $result ) ? 200 : 400
	);
}