BP_REST_Media_Endpoint::delete_items( WP_REST_Request $request )
Delete multiple medias.
Description
Parameters
- $request
-
(Required) Full details about the request.
Return
(WP_REST_Response) | WP_Error
Source
File: bp-media/classes/class-bp-rest-media-endpoint.php
public function delete_items( $request ) { $media_ids = $request['media_ids']; if ( ! empty( $media_ids ) ) { $media_ids = array_unique( $media_ids ); $media_ids = array_filter( $media_ids ); } if ( empty( $media_ids ) ) { return new WP_Error( 'bp_rest_media_invalid_ids', __( 'Invalid media IDs.', 'buddyboss' ), array( 'status' => 404, ) ); } $medias = $this->assemble_response_data( array( 'media_ids' => $media_ids ) ); if ( empty( $medias['medias'] ) ) { return new WP_Error( 'bp_rest_media_ids', __( 'Invalid media IDs.', 'buddyboss' ), array( 'status' => 404, ) ); } $previous = array(); foreach ( $medias['medias'] as $media ) { $previous[] = $this->prepare_response_for_collection( $this->prepare_item_for_response( $media, $request ) ); } $status = array(); foreach ( $media_ids as $id ) { if ( ! bp_media_user_can_delete( $id ) ) { $status[ $id ] = new WP_Error( 'bp_rest_authorization_required', __( 'Sorry, you are not allowed to delete this media.', 'buddyboss' ), array( 'status' => rest_authorization_required_code(), ) ); } else { $status[ $id ] = bp_media_delete( array( 'id' => $id ), true ); } } // Build the response. $response = new WP_REST_Response(); $response->set_data( array( 'deleted' => $status, 'previous' => $previous, ) ); /** * Fires after medias is deleted via the REST API. * * @param WP_REST_Response $response The response data. * @param WP_REST_Request $request The request sent to the API. * * @since 0.1.0 */ do_action( 'bp_rest_media_delete_items', $response, $request ); return $response; }
Changelog
Version | Description |
---|---|
0.1.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.