/home/suroeste/public_html/wp-content/plugins/woocommerce/src/StoreApi/Routes/V1
NameSizeModeActions
AI/-0755rm
AbstractCartRoute.php104070644editdlrm
AbstractRoute.php100130644editdlrm
AbstractTermsRoute.php48060644editdlrm
Batch.php36450644editdlrm
Cart.php13240644editdlrm
CartAddItem.php40530644editdlrm
CartApplyCoupon.php20520644editdlrm
CartCoupons.php40140644editdlrm
CartCouponsByCode.php27420644editdlrm
CartExtensions.php19730644editdlrm
CartItems.php39070644editdlrm
CartItemsByKey.php41720644editdlrm
CartRemoveCoupon.php24740644editdlrm
CartRemoveItem.php23000644editdlrm
CartSelectShippingRate.php35970644editdlrm
CartUpdateCustomer.php104040644editdlrm
CartUpdateItem.php18180644editdlrm
Checkout.php248770644editdlrm
CheckoutOrder.php78430644editdlrm
Order.php22910644editdlrm
ProductAttributes.php15860644editdlrm
ProductAttributesById.php20030644editdlrm
ProductAttributeTerms.php21840644editdlrm
ProductCategories.php13370644editdlrm
ProductCategoriesById.php19770644editdlrm
ProductCollectionData.php64620644editdlrm
ProductReviews.php68550644editdlrm
Products.php147690644editdlrm
ProductsById.php18970644editdlrm
ProductsBySlug.php27270644editdlrm
ProductTags.php12180644editdlrm
Edit: /home/suroeste/public_html/wp-content/plugins/woocommerce/src/StoreApi/Routes/V1/CartAddItem.php (4053B)
\WP_REST_Server::CREATABLE, 'callback' => [ $this, 'get_response' ], 'permission_callback' => '__return_true', 'args' => [ 'id' => [ 'description' => __( 'The cart item product or variation ID.', 'woocommerce' ), 'type' => 'integer', 'context' => [ 'view', 'edit' ], 'sanitize_callback' => 'absint', ], 'quantity' => [ 'description' => __( 'Quantity of this item to add to the cart.', 'woocommerce' ), 'type' => 'integer', 'context' => [ 'view', 'edit' ], 'arg_options' => [ 'sanitize_callback' => 'wc_stock_amount', ], ], 'variation' => [ 'description' => __( 'Chosen attributes (for variations).', 'woocommerce' ), 'type' => 'array', 'context' => [ 'view', 'edit' ], 'items' => [ 'type' => 'object', 'properties' => [ 'attribute' => [ 'description' => __( 'Variation attribute name.', 'woocommerce' ), 'type' => 'string', 'context' => [ 'view', 'edit' ], ], 'value' => [ 'description' => __( 'Variation attribute value.', 'woocommerce' ), 'type' => 'string', 'context' => [ 'view', 'edit' ], ], ], ], ], ], ], 'schema' => [ $this->schema, 'get_public_item_schema' ], 'allow_batch' => [ 'v1' => true ], ]; } /** * Handle the request and return a valid response for this endpoint. * * @throws RouteException On error. * @param \WP_REST_Request $request Request object. * @return \WP_REST_Response */ protected function get_route_post_response( \WP_REST_Request $request ) { // Do not allow key to be specified during creation. if ( ! empty( $request['key'] ) ) { throw new RouteException( 'woocommerce_rest_cart_item_exists', __( 'Cannot create an existing cart item.', 'woocommerce' ), 400 ); } $cart = $this->cart_controller->get_cart_instance(); /** * Filters cart item data sent via the API before it is passed to the cart controller. * * This hook filters cart items. It allows the request data to be changed, for example, quantity, or * supplemental cart item data, before it is passed into CartController::add_to_cart and stored to session. * * CartController::add_to_cart only expects the keys id, quantity, variation, and cart_item_data, so other values * may be ignored. CartController::add_to_cart (and core) do already have a filter hook called * woocommerce_add_cart_item, but this does not have access to the original Store API request like this hook does. * * @since 8.8.0 * * @param array $add_to_cart_data An array of cart item data. * @return array */ $add_to_cart_data = apply_filters( 'woocommerce_store_api_add_to_cart_data', array( 'id' => $request['id'], 'quantity' => $request['quantity'], 'variation' => $request['variation'], 'cart_item_data' => [], ), $request ); $this->cart_controller->add_to_cart( $add_to_cart_data ); $response = rest_ensure_response( $this->schema->get_item_response( $cart ) ); $response->set_status( 201 ); return $response; } }