Automattic\WooCommerce\StoreApi\Routes\V1
AbstractCartRoute::load_cart_session
Load the cart session before handling responses.
Method of the class: AbstractCartRoute{}
No Hooks.
Returns
null. Nothing (null).
Usage
// protected - for code of main (parent) or child class $result = $this->load_cart_session( $request );
- $request(WP_REST_Request) (required)
- Request object.
AbstractCartRoute::load_cart_session() AbstractCartRoute::load cart session code WC 11.2.2
protected function load_cart_session( \WP_REST_Request $request ) {
if ( WC()->cart instanceof \WC_Cart && ! \WC_Cart_Session::are_updates_enabled_for_cart( WC()->cart ) ) {
throw new \RuntimeException( 'The cart is unavailable after its session failed to load.' );
}
try {
if ( $this->has_cart_token( $request ) ) {
// Overrides the core session class.
add_filter(
'woocommerce_session_handler',
function () {
return SessionHandler::class;
}
);
}
$this->cart_controller->load_cart();
} catch ( \Throwable $error ) {
if ( WC()->cart instanceof \WC_Cart ) {
\WC_Cart_Session::set_updates_enabled_for_cart( WC()->cart, false );
}
throw $error;
}
$this->cart_controller->normalize_cart();
}