WordPress at Your Fingertips
function is not described

WC_API::handle_api_requests() public WC 2.0

API request - Trigger any API requests.

{} It's a method of the class: WC_API{}

Return

null. Nothing.

Usage

$WC_API = new WC_API();
$WC_API->handle_api_requests();

Changelog

Since 2.0 Introduced.

Code of WC_API::handle_api_requests() WC 5.9.0

public function handle_api_requests() {
	global $wp;

	if ( ! empty( $_GET['wc-api'] ) ) { // WPCS: input var okay, CSRF ok.
		$wp->query_vars['wc-api'] = sanitize_key( wp_unslash( $_GET['wc-api'] ) ); // WPCS: input var okay, CSRF ok.
	}

	// wc-api endpoint requests.
	if ( ! empty( $wp->query_vars['wc-api'] ) ) {

		// Buffer, we won't want any output here.
		ob_start();

		// No cache headers.
		wc_nocache_headers();

		// Clean the API request.
		$api_request = strtolower( wc_clean( $wp->query_vars['wc-api'] ) );

		// Make sure gateways are available for request.
		WC()->payment_gateways();

		// Trigger generic action before request hook.
		do_action( 'woocommerce_api_request', $api_request );

		// Is there actually something hooked into this API request? If not trigger 400 - Bad request.
		status_header( has_action( 'woocommerce_api_' . $api_request ) ? 200 : 400 );

		// Trigger an action which plugins can hook into to fulfill the request.
		do_action( 'woocommerce_api_' . $api_request );

		// Done, clear buffer and exit.
		ob_end_clean();
		die( '-1' );
	}
}