File Upload Handling in Plugins — a practical guide to WordPress file upload plugin with clear examples you can reuse in real projects.
WordPress Plugin Development Series (50/95). Prefer one article? Read the complete WordPress plugin development tutorial.
Short description
Check capabilities, nonces, and allowed mime types. Prefer Media Library APIs when files should be attachments.
Upload sketch
require_once ABSPATH . 'wp-admin/includes/file.php';
$file = wp_handle_upload($_FILES['acme_file'], ['test_form' => false]);
if (isset($file['error'])) {
// handle error
}