WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Платформа для конвертации и монетизации трафика
функция не описана

Automattic\WooCommerce\Blocks\StoreApi\Routes

CartRemoveCoupon::get_route_post_response() protected WC 1.0

Handle the request and return a valid response for this endpoint.

{} Это метод класса: CartRemoveCoupon{}

Хуков нет.

Возвращает

\WP_REST_Response.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->get_route_post_response( \WP_REST_Request $request );
$request(\WP_REST_Request) (обязательный)
Request object.

Код CartRemoveCoupon::get_route_post_response() WC 4.7.1

<?php
protected function get_route_post_response( \WP_REST_Request $request ) {
	if ( ! wc_coupons_enabled() ) {
		throw new RouteException( 'woocommerce_rest_cart_coupon_disabled', __( 'Coupons are disabled.', 'woocommerce' ), 404 );
	}

	$controller  = new CartController();
	$cart        = $controller->get_cart_instance();
	$coupon_code = wc_format_coupon_code( $request['code'] );
	$coupon      = new \WC_Coupon( $coupon_code );

	if ( $coupon->get_code() !== $coupon_code || ! $coupon->is_valid() ) {
		throw new RouteException( 'woocommerce_rest_cart_coupon_error', __( 'Invalid coupon code.', 'woocommerce' ), 400 );
	}

	if ( ! $controller->has_coupon( $coupon_code ) ) {
		throw new RouteException( 'woocommerce_rest_cart_coupon_invalid_code', __( 'Coupon cannot be removed because it is not already applied to the cart.', 'woocommerce' ), 409 );
	}

	$cart = $controller->get_cart_instance();
	$cart->remove_coupon( $coupon_code );
	$cart->calculate_totals();

	return rest_ensure_response( $this->schema->get_item_response( $cart ) );
}