Force Delete Posts

add_action(‘rest_api_init’, function() {
register_rest_route(‘zeevou/v1’, ‘/force-delete-post’, [
‘methods’ => ‘POST’,
‘callback’ => function($request) {
if ($request[‘secret’] !== ‘zeevou-create-post-2026’) {
return new WP_Error(‘unauthorized’, ‘Invalid secret’, [‘status’ => 401]);
}

$post_id = $request[‘post_id’];

if (!$post_id) {
return new WP_Error(‘missing_id’, ‘Post ID is required’, [‘status’ => 400]);
}

// First check if post exists
$post = get_post($post_id);
if (!$post) {
return new WP_Error(‘not_found’, ‘Post not found’, [‘status’ => 404]);
}

// Force delete bypassing trash
$deleted = wp_delete_post($post_id, true);

if (!$deleted) {
return new WP_Error(‘delete_failed’, ‘Failed to delete post’, [‘status’ => 500]);
}

// Also clean up post meta
delete_post_meta($post_id, ‘_wp_old_slug’);

// Flush rewrite rules
flush_rewrite_rules();

return [
‘success’ => true,
‘post_id’ => $post_id,
‘deleted’ => true,
‘post_title’ => $post->post_title,
‘post_slug’ => $post->post_name
];
},
‘permission_callback’ => ‘__return_true’
]);
});

Scroll to Top
Solution lamp for mobile header

Custom Solutions with Zeevou

Discover tailored solutions perfectly suited to your role, business size, and specific use cases.