Tribe__Events__REST__V1__Endpoints__Single_Organizer::delete( WP_REST_Request $request )

Handles DELETE requests on the endpoint.


Parameters

$request

(WP_REST_Request) (Required)


Top ↑

Return

(WP_Error|WP_REST_Response) An array containing the data of the trashed post on success or a WP_Error instance on failure.


Top ↑

Source

File: src/Tribe/REST/V1/Endpoints/Single_Organizer.php

	public function delete( WP_REST_Request $request ) {
		$organizer_id = $request['id'];

		$organizer = get_post( $organizer_id );

		if ( 'trash' === $organizer->post_status ) {
			$message = $this->messages->get_message( 'organizer-is-in-trash' );

			return new WP_Error( 'organizer-is-in-trash', $message, array( 'status' => 410 ) );
		}

		/**
		 * Filters the organizer delete operation.
		 *
		 * Returning a non `null` value here will override the default trashing operation.
		 *
		 * @param int|bool        $deleted Whether the organizer was successfully deleted or not.
		 * @param WP_REST_Request $request The original API request.
		 *
		 * @since 4.6
		 */
		$deleted = apply_filters( 'tribe_organizers_rest_organizer_delete', null, $request );
		if ( null === $deleted ) {
			$deleted = wp_trash_post( $organizer_id );
		}

		if ( false === $deleted ) {
			$message = $this->messages->get_message( 'could-not-delete-organizer' );

			return new WP_Error( 'could-not-delete-organizer', $message, array( 'status' => 500 ) );
		}

		$data = $this->post_repository->get_organizer_data( $organizer_id );

		return is_wp_error( $data ) ? $data : new WP_REST_Response( $data );
	}