Tribe__Tickets__REST__V1__Endpoints__Cart::update( $request )
{@inheritDoc}
Source
File: src/Tribe/REST/V1/Endpoints/Cart.php
public function update( WP_REST_Request $request ) {
$this->is_active = true;
$post_id = $request->get_param( 'post_id' );
$provider = $request->get_param( 'provider' );
$tickets = $request->get_param( 'tickets' );
$meta = $request->get_param( 'meta' );
if ( 0 < $post_id ) {
// Confirm post has tickets.
$has_tickets = ! empty( Tribe__Tickets__Tickets::get_all_event_tickets( $post_id ) );
if ( ! $has_tickets ) {
$message = $this->messages->get_message( 'post-has-no-tickets' );
return new WP_Error( 'post-has-no-tickets', $message, [ 'status' => 403 ] );
}
}
/** @var Tribe__Tickets__Commerce__Cart $cart */
$cart = tribe( 'tickets.commerce.cart' );
$response = $cart->update( [
'post_id' => $post_id,
'provider' => $provider,
'tickets' => $tickets,
'meta' => $meta,
'additive' => false,
] );
if ( is_wp_error( $response ) ) {
$error_code = $response->get_error_code();
// Use message using error code if message is not yet set.
if ( $error_code === $response->get_error_message() ) {
$response->errors[ $error_code ] = $this->messages->get_message( $error_code );
}
return $response;
}
// Get the updated cart details.
return $this->get( $request );
}
Changelog
| Version | Description |
|---|---|
| 4.11.0 | Introduced. |