WC_API::handle_api_requests()publicWC 2.0

API request - Trigger any API requests.

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

Возвращает

null. Ничего (null).

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

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

Список изменений

С версии 2.0 Введена.

Код WC_API::handle_api_requests() WC 8.7.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' );
	}
}