WP Dropzone integrates the powerful Dropzone.js library with WordPress, allowing you to upload files directly into the WordPress media library from any post, page, or front-end location. The plugin provides a modern, user-friendly drag-and-drop interface with extensive customization options and advanced features for file management.
Insert the dropzone anywhere in your posts, pages, or templates with the shortcode:
[wp-dropzone]
Or in PHP templates:
<?php echo do_shortcode( '[wp-dropzone]' ); ?>
The following attributes can be used with the [wp-dropzone] shortcode:
id – Unique identifier for the dropzone instance (Default: Auto-generated)
Example: [wp-dropzone id="myUploader"]
title – Title displayed above the dropzone (Default: Empty)
Example: [wp-dropzone title="Drop Files Here"]
desc – Description text for the dropzone (Default: Empty)
Example: [wp-dropzone desc="Upload your files here"]
accepted-files – Allowed file types (Default: All files)
Example: [wp-dropzone accepted-files="image/*"]
max-files – Maximum number of files (Default: Unlimited)
Example: [wp-dropzone max-files="3"]
auto-process – Auto-upload files when dropped (Default: true)
Example: [wp-dropzone auto-process="false"]
clickable – Make dropzone clickable (Default: true)
Example: [wp-dropzone clickable="false"]
remove-links – Show remove file buttons (Default: false)
Example: [wp-dropzone remove-links="true"]
upload-button-text – Text for manual upload button (Default: “Upload Files”)
Example: [wp-dropzone upload-button-text="Upload Selected Files"]
resize-width – Resize images to specified width (Default: Original)
Example: [wp-dropzone resize-width="800"]
resize-height – Resize images to specified height (Default: Original)
Example: [wp-dropzone resize-height="600"]
resize-quality – Image quality (0.1-1.0) (Default: 0.8)
Example: [wp-dropzone resize-quality="0.9"]
resize-method – Resize method: contain/crop (Default: contain)
Example: [wp-dropzone resize-method="crop"]
thumbnail-width – Thumbnail width in pixels (Default: 120)
Example: [wp-dropzone thumbnail-width="150"]
thumbnail-height – Thumbnail height in pixels (Default: 120)
Example: [wp-dropzone thumbnail-height="150"]
thumbnail-method – Thumbnail method: contain/crop (Default: crop)
Example: [wp-dropzone thumbnail-method="contain"]
callback – Custom JavaScript callbacks for Dropzone events (Advanced)
Example: [wp-dropzone callback="success: function(file, response) { document.getElementById('hidden-field').value = response.data; }"]
Note: Since this attribute is executed as JavaScript, it is only honored when the page/post containing the shortcode was authored by a user with the unfiltered_html capability (Administrators by default). This prevents lower-privileged authors (e.g. Contributors) from injecting scripts that would run in another user’s browser.
The following styling attributes can be used to customize the dropzone appearance:
border-width – Border width
Example: [wp-dropzone border-width="3px"]
border-style – Border style (solid, dashed, etc.)
Example: [wp-dropzone border-style="dashed"]
border-color – Border color (hex code)
Example: [wp-dropzone border-color="#007cba"]
background – Background color (hex code)
Example: [wp-dropzone background="#f0f0f1"]
margin-bottom – Bottom margin
Example: [wp-dropzone margin-bottom="20px"]
The plugin provides several action hooks for customization:
// Before file upload
do_action( 'wp_dropzone_before_upload_file', $file );
// After file upload
do_action( 'wp_dropzone_after_upload_file', $file );
// After media library insertion
do_action( 'wp_dropzone_after_insert_attachment', $attachment_id );
Access dropzone instance and events:
// Get dropzone instance
var dropzone = Dropzone.forElement("#wp-dz-yourID");
// Add event listeners
dropzone.on("success", function(file, response) {
console.log("File uploaded:", response);
});
[wp-dropzone accepted-files="image/*" max-files="5" title="Upload Images"]
[wp-dropzone accepted-files=".pdf,.doc,.docx" title="Upload Documents" desc="PDF, DOC, DOCX files only"]
[wp-dropzone title="Drop Files Here" desc="Drag and drop files or click to browse" border-style="dashed" border-color="#007cba" background="#f8f9fa"]
[wp-dropzone auto-process="false" upload-button-text="Upload Selected Files" title="Select Files"]