WP_REST_Plugins_Controller::delete_item() public WP 5.5.0
Deletes one plugin from the site.
{} It's a method of the class: WP_REST_Plugins_Controller{}
No Hooks.
Return
WP_REST_Response/WP_Error. Response object on success, or WP_Error object on failure.
Usage
$WP_REST_Plugins_Controller = new WP_REST_Plugins_Controller(); $WP_REST_Plugins_Controller->delete_item( $request );
- $request(WP_REST_Request) (required)
- Full details about the request.
Changelog
Since 5.5.0 | Introduced. |
Code of WP_REST_Plugins_Controller::delete_item() WP REST Plugins Controller::delete item WP 5.6
public function delete_item( $request ) {
require_once ABSPATH . 'wp-admin/includes/file.php';
require_once ABSPATH . 'wp-admin/includes/plugin.php';
$data = $this->get_plugin_data( $request['plugin'] );
if ( is_wp_error( $data ) ) {
return $data;
}
if ( is_plugin_active( $request['plugin'] ) ) {
return new WP_Error(
'rest_cannot_delete_active_plugin',
__( 'Cannot delete an active plugin. Please deactivate it first.' ),
array( 'status' => 400 )
);
}
$filesystem_available = $this->is_filesystem_available();
if ( is_wp_error( $filesystem_available ) ) {
return $filesystem_available;
}
$prepared = $this->prepare_item_for_response( $data, $request );
$deleted = delete_plugins( array( $request['plugin'] ) );
if ( is_wp_error( $deleted ) ) {
$deleted->add_data( array( 'status' => 500 ) );
return $deleted;
}
return new WP_REST_Response(
array(
'deleted' => true,
'previous' => $prepared->get_data(),
)
);
}