Automattic\WooCommerce\Internal\RestApi\Routes\V4\Customers
Controller::delete_item
Delete a single customer.
Method of the class: Controller{}
Hooks from the method
Returns
WP_Error|WP_REST_Response.
Usage
$Controller = new Controller(); $Controller->delete_item( $request );
- $request(WP_REST_Request) (required)
- Full details about the request.
Controller::delete_item() Controller::delete item code WC 11.2.2
public function delete_item( $request ) {
$id = (int) $request['id'];
$force = isset( $request['force'] ) ? (bool) $request['force'] : false;
// We don't support trashing for this type, error out.
if ( ! $force ) {
return $this->get_route_error_by_code( self::TRASH_NOT_SUPPORTED );
}
$user_data = \Automattic\WooCommerce\Internal\Utilities\Users::get_user_in_current_site( $id );
if ( is_wp_error( $user_data ) ) {
return $this->get_route_error_by_code( self::INVALID_ID );
}
$request->set_param( 'context', 'edit' );
$response = $this->prepare_item_for_response( new WC_Customer( $id ), $request );
/** Include admin customer functions to get access to wp_delete_user() */
require_once ABSPATH . 'wp-admin/includes/user.php';
$customer = new WC_Customer( $id );
$result = $customer->delete();
if ( ! $result ) {
return $this->get_route_error_by_code( self::CANNOT_DELETE );
}
/**
* Fires after a customer is deleted via the REST API.
*
* @param WP_User $user_data User data.
* @param WP_REST_Response $response The response returned from the API.
* @param WP_REST_Request $request The request sent to the API.
* @since 10.2.0
*/
do_action( $this->get_hook_prefix() . 'deleted', $user_data, $response, $request );
return $response;
}