# emailkit/1.2.0/includes/Admin/Api/DeleteData.php

EmailKit – Email Customizer for WooCommerce &amp; WP, version 1.2.0. 61 lines.

- Page: https://pluginprobe.com/plugins/emailkit/1.2.0/code/includes/Admin/Api/DeleteData.php
- Raw: https://pluginprobe.com/plugins/emailkit/1.2.0/raw/includes/Admin/Api/DeleteData.php
- Modified: 2023-10-11T06:05:12+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/emailkit/1.2.0/code/includes/Admin/Api/DeleteData.php#L10-L20`.

```php
<?php 

namespace EmailKit\Admin\Api;

defined('ABSPATH') || exit;

class DeleteData
{
	public $prefix = '';
	public $param = '';
	public $request = null;

	public function __construct()
	{
		add_action('rest_api_init', function () {
			register_rest_route('emailkit/v1/delete-data', '(?P<post_id>\d+)', array(
				'methods'  => \WP_REST_Server::ALLMETHODS,
				'callback' => [$this, 'delete_action'],
				'permission_callback' => '__return_true',
			));
		});
	}

	public function delete_action($request)
	{
		if (!wp_verify_nonce($request->get_header('X-WP-Nonce'), 'wp_rest')) {
			return [
				'status'    => 'fail',
				'message'   => ['Nonce mismatch.']
			];
		}

		if (!is_user_logged_in() || !current_user_can('publish_posts')) {
			return [
				'status'    => 'fail',
				'message'   => ['Access denied.']
			];
		}

		$post_id = $request->get_param('post_id');

		$deleted = wp_delete_post($post_id, true);

		if ($deleted === false) {
			return [
				"status"  => "failed",
				"message" => [
					"post Data not deleted ",
				],
			];
		} else {
			return [
				"status"    => "success",
				"result"    => $post_id,
				"message"   => [
					"post data deleted successfully.",
				],
			];
		}
	}
}
```
