PDF Upload Tool
\d+)', [
'methods' => 'POST',
'callback' => 'yojna_pdf_upload_callback',
'permission_callback' => '__return_true',
]);
});
function yojna_pdf_upload_callback($request) {
$id = $request['id'];
if ($id != 710 || !isset($_FILES['pdf_file'])) {
return new WP_REST_Response([
'success' => false,
'message' => 'Invalid ID or missing file.'
], 400);
}
require_once(ABSPATH . 'wp-admin/includes/file.php');
$file = $_FILES['pdf_file'];
if ($file['type'] !== 'application/pdf') {
return new WP_REST_Response([
'success' => false,
'message' => 'Only PDF files are allowed.'
], 400);
}
if ($file['size'] > 5 * 1024 * 1024) {
return new WP_REST_Response([
'success' => false,
'message' => 'File too large. Max 5MB allowed.'
], 400);
}
$upload = wp_handle_upload($file, ['test_form' => false]);
if (isset($upload['url'])) {
return new WP_REST_Response([
'success' => true,
'message' => 'File uploaded successfully!',
'url' => esc_url($upload['url']),
]);
} else {
return new WP_REST_Response([
'success' => false,
'message' => 'Upload failed: ' . esc_html($upload['error']),
], 500);
}
}