{"id":291201,"date":"2026-04-05T04:55:00","date_gmt":"2026-04-05T04:55:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dropproduct-bulk-product-uploader-for-woocommerce\/"},"modified":"2026-05-03T14:13:24","modified_gmt":"2026-05-03T14:13:24","slug":"dropproduct","status":"publish","type":"plugin","link":"https:\/\/vi.wordpress.org\/plugins\/dropproduct\/","author":21108382,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"DropProduct","header_author":"Sajjad Hossain","header_description":"The fastest way to bulk create WooCommerce products from images with drag & drop, smart grouping, inline editing, and one-click publish.","assets_banners_color":"b7b3f0","last_updated":"2026-05-03 14:13:24","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/dropproduct\/","header_author_uri":"https:\/\/sajjadhossain.vercel.app","rating":0,"author_block_rating":0,"active_installs":10,"downloads":210,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"codersajjad","date":"2026-04-05 04:54:36"},"1.1.0":{"tag":"1.1.0","author":"codersajjad","date":"2026-05-03 14:13:24"}},"upgrade_notice":{"1.1.0":"<p>Major release: Sales Analytics adds a modern reporting dashboard for DropProduct sales performance, including charts, top products, geographic breakdowns, and CSV export, plus the Cost-to-Profit Tracker, Ultimate Order Shield, Price Slasher improvements, SEO Alt-Text Automator, and publish\/delete workflow upgrades.<\/p>","1.0.0":"<p>Initial release of DropProduct.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3499999,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3499999,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3499999,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[259436,259438,259437,286,148898],"plugin_category":[45],"plugin_contributors":[228640],"plugin_business_model":[],"class_list":["post-291201","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk-product-upload","plugin_tags-drag-drop-upload","plugin_tags-product-creator","plugin_tags-woocommerce","plugin_tags-woocommerce-bulk-edit","plugin_category-ecommerce","plugin_contributors-codersajjad","plugin_committers-codersajjad","plugin_committers-muaz404"],"banners":{"banner":"https:\/\/ps.w.org\/dropproduct\/assets\/banner-772x250.png?rev=3499999","banner_2x":"https:\/\/ps.w.org\/dropproduct\/assets\/banner-1544x500.png?rev=3499999","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dropproduct\/assets\/icon-128x128.png?rev=3499999","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>DropProduct<\/strong> is the fastest way to add products to your WooCommerce store. Stop wasting hours creating products one by one \u2014 just drag &amp; drop your product images and let DropProduct do the rest.<\/p>\n\n<p>Upload 10, 50, or 100+ product images at once. Each image instantly becomes a draft product with a clean title generated from the filename. Edit prices, categories, SKUs, and descriptions right in the grid \u2014 everything saves automatically. When you're ready, publish all products in a single click.<\/p>\n\n<h4>\u26a1 How It Works<\/h4>\n\n<ol>\n<li><strong>Drag &amp; drop<\/strong> your product images onto the upload zone<\/li>\n<li><strong>Products are created automatically<\/strong> as drafts with smart titles from filenames<\/li>\n<li><strong>Related images are grouped<\/strong> \u2014 <code>shoe-1.jpg<\/code> and <code>shoe-2.jpg<\/code> become one product with a gallery<\/li>\n<li><strong>Edit inline<\/strong> \u2014 title, description, regular price, sale price, SKU, stock, and category<\/li>\n<li><strong>Publish all<\/strong> valid products in one click<\/li>\n<\/ol>\n\n<h4>\ud83c\udfaf Who Is This For?<\/h4>\n\n<ul>\n<li><strong>New store owners<\/strong> building their first product catalog<\/li>\n<li><strong>Dropshippers<\/strong> adding hundreds of products quickly<\/li>\n<li><strong>Photographers &amp; artists<\/strong> selling prints and digital products<\/li>\n<li><strong>Wholesalers<\/strong> managing large inventories<\/li>\n<li><strong>Anyone<\/strong> tired of WooCommerce's slow, one-at-a-time product creation<\/li>\n<\/ul>\n\n<h4>\ud83c\udd93 Free Features<\/h4>\n\n<p><strong>Core Product Management<\/strong><\/p>\n\n<ul>\n<li><strong>Drag &amp; Drop Bulk Upload<\/strong> \u2014 Upload unlimited product images at once (JPEG, PNG, GIF, WebP)<\/li>\n<li><strong>Smart Title Generation<\/strong> \u2014 Filenames like <code>blue-cotton-hoodie.jpg<\/code> become \"Blue Cotton Hoodie\" automatically<\/li>\n<li><strong>Gallery Grouping<\/strong> \u2014 Images sharing a base name merge into one product with a gallery<\/li>\n<li><strong>Inline Grid Editor<\/strong> \u2014 Edit title, description, regular price, sale price, SKU, stock status, category, and cost price directly in the table<\/li>\n<li><strong>Auto-Save<\/strong> \u2014 Every change saves instantly via AJAX \u2014 no save button needed<\/li>\n<li><strong>Sale Price Validation<\/strong> \u2014 Warns you if the sale price is higher than the regular price<\/li>\n<li><strong>Description Editor<\/strong> \u2014 Add product descriptions via a clean popup modal<\/li>\n<li><strong>Hover Image Preview<\/strong> \u2014 Hover over any thumbnail to see the full-size image<\/li>\n<li><strong>Batch Publish with Validation<\/strong> \u2014 Publish all drafts in one click; missing title or price fields are highlighted in red<\/li>\n<li><strong>Individual Publish<\/strong> \u2014 Publish a single draft product directly from the grid row<\/li>\n<li><strong>Draft Counter<\/strong> \u2014 See how many unpublished products you have at a glance<\/li>\n<li><strong>HPOS Compatible<\/strong> \u2014 Fully compatible with WooCommerce High-Performance Order Storage<\/li>\n<li><strong>Zero Bloat<\/strong> \u2014 Assets only load on the DropProduct page; no impact on the rest of your admin<\/li>\n<\/ul>\n\n<p><strong>\ud83d\udcca Sales Analytics Dashboard<\/strong><\/p>\n\n<ul>\n<li>New dedicated admin submenu under DropProduct with modern analytics cards and charts<\/li>\n<li>Track total sales, orders, average order value, conversion rate, sales over time, top products, top countries, and traffic channels<\/li>\n<li>Date range filters and CSV export for quick reporting<\/li>\n<\/ul>\n\n<p><strong>\ud83d\udcb0 Quick Bulk Price Adjuster (Price Slasher)<\/strong><\/p>\n\n<ul>\n<li>Apply a percentage or fixed-amount price increase\/decrease to all selected products simultaneously<\/li>\n<li>Works on Regular Price, Sale Price, or both at once<\/li>\n<li>Toggle the Price Slasher bar on\/off with a dedicated toolbar button<\/li>\n<li>Prices are updated via AJAX \u2014 no page reload<\/li>\n<li>Final prices are clamped to \u2265 0 and rounded to 2 decimal places<\/li>\n<\/ul>\n\n<p><strong>\ud83d\udcf8 Smart SEO Alt-Text Automator<\/strong> <em>(requires toggle in Settings)<\/em><\/p>\n\n<ul>\n<li>Automatically generates and assigns SEO-friendly alt text to product images on upload<\/li>\n<li>Parses the filename: removes extension, replaces hyphens\/underscores with spaces, converts to Title Case<\/li>\n<li>Only sets alt text when the field is currently empty \u2014 never overwrites manual work<\/li>\n<\/ul>\n\n<p><strong>\u2699\ufe0f Cost-to-Profit Tracker<\/strong><\/p>\n\n<ul>\n<li>Add a \"Cost Price\" to any product row \u2014 stored privately as <code>_dropproduct_cost_price<\/code> (never shown to customers)<\/li>\n<li>Instant real-time calculation of <strong>Profit<\/strong> (= Selling Price \u2212 Cost) and <strong>Margin %<\/strong> (= Profit \u00f7 Selling Price \u00d7 100)<\/li>\n<li>Both values update live as you type \u2014 no AJAX round-trip needed for display<\/li>\n<li>Cost saved automatically via debounced AJAX; recalculates whenever the regular or sale price changes<\/li>\n<li>Profit and Margin display with colour coding: green (positive), red (negative), grey (no data)<\/li>\n<\/ul>\n\n<p><strong>\ud83d\udee1\ufe0f Ultimate Order Shield<\/strong> <em>(requires toggle in Settings)<\/em><\/p>\n\n<ul>\n<li>Full WooCommerce fraud protection engine \u2014 no external APIs<\/li>\n<li><strong>Honeypot field<\/strong> \u2014 invisible to real users; filled by bots \u2192 immediate block<\/li>\n<li><strong>Blacklist<\/strong> \u2014 block orders from specific names, phones, or email addresses<\/li>\n<li><strong>Disposable email detection<\/strong> \u2014 20+ known throwaway domains blocked by default; fully editable list<\/li>\n<li><strong>IP velocity limiting<\/strong> \u2014 too many orders from the same IP within 1 hour scores +30 risk points<\/li>\n<li><strong>IP \/ Billing country mismatch<\/strong> \u2014 uses WC Geolocation (no external API); adds risk score and private order note<\/li>\n<li><strong>Card testing protection<\/strong> \u2014 excessive failed payment attempts trigger an immediate block<\/li>\n<li><strong>Checkout speed check<\/strong> \u2014 orders submitted faster than a configurable threshold are scored as suspicious<\/li>\n<li><strong>Configurable thresholds<\/strong> \u2014 separate block and review thresholds; force On-Hold instead of block if preferred<\/li>\n<li><strong>Cash on Delivery restriction<\/strong> \u2014 automatically hide COD for high-risk customers<\/li>\n<li><strong>Activity Log<\/strong> \u2014 every checkout check is logged with IP, email, risk score, triggered rules, and final action<\/li>\n<li><strong>Admin settings panel<\/strong> \u2014 full control via DropProduct \u2192 \ud83d\udee1\ufe0f Order Shield menu<\/li>\n<\/ul>\n\n<p><strong>\ud83d\udce6 Bulk Editing<\/strong><\/p>\n\n<ul>\n<li>Select multiple products and set price, category, stock status, tax class, or shipping class for all of them at once<\/li>\n<li>Floating bulk bar appears when rows are selected \u2014 shows action buttons for each field<\/li>\n<li>Clean prompt modal lets you choose the new value before applying<\/li>\n<\/ul>\n\n<p><strong>\ud83d\udd16 Session Management<\/strong><\/p>\n\n<ul>\n<li>Upload sessions are tracked automatically \u2014 each batch of images is tagged with a unique session ID<\/li>\n<li>Filter the product grid by session to work on one batch at a time<\/li>\n<li>Session dropdown always shows the most recent 50 sessions<\/li>\n<\/ul>\n\n<p><strong>\ud83d\udccb Activity Log<\/strong><\/p>\n\n<ul>\n<li>Full audit trail of all create, publish, delete, and edit actions<\/li>\n<li>Filter by action type (upload, publish, delete, edit) and paginate through entries<\/li>\n<li>Clear individual entries or wipe the entire log from the admin panel<\/li>\n<\/ul>\n\n<p><strong>\ud83d\udd0d SEO Tools<\/strong><\/p>\n\n<ul>\n<li>Edit URL slugs, meta descriptions (Yoast + Rank Math compatible), and image ALT text inline<\/li>\n<li>SEO fields update via AJAX \u2014 no page reload needed<\/li>\n<\/ul>\n\n<h4>\u2b50 Pro Features<\/h4>\n\n<p>Unlock advanced power features with <a href=\"https:\/\/dropproduct.dev\/pro\">DropProduct Pro<\/a>:<\/p>\n\n<ul>\n<li><strong>Product Duplication<\/strong> \u2014 Clone any product row with one click<\/li>\n<li><strong>Validation Dashboard<\/strong> \u2014 Pre-publish validation report with issue breakdown<\/li>\n<li><strong>Variable Product Support<\/strong> \u2014 Auto-detect color\/size variations from filenames<\/li>\n<li><strong>Advanced Grouping Engine<\/strong> \u2014 Custom prefixes\/suffixes for smarter image grouping<\/li>\n<li><strong>Template Presets<\/strong> \u2014 Default category, stock, tax class auto-applied to every new product<\/li>\n<li><strong>Performance Controls<\/strong> \u2014 Configurable batch size, safe mode, and auto-retry<\/li>\n<\/ul>\n\n<h4>\ud83d\udca1 Smart Image Naming Tips<\/h4>\n\n<ul>\n<li><code>blue-hoodie.jpg<\/code> \u2192 <strong>Blue Hoodie<\/strong> (1 product, 1 image)<\/li>\n<li><code>blue-hoodie-1.jpg<\/code>, <code>blue-hoodie-2.jpg<\/code> \u2192 <strong>Blue Hoodie<\/strong> (1 product, 2-image gallery)<\/li>\n<\/ul>\n\n<p>Use hyphens (<code>-<\/code>) or underscores (<code>_<\/code>) to separate words. Trailing numbers are stripped automatically.<\/p>\n\n<h4>\ud83d\udd12 Safe &amp; Secure<\/h4>\n\n<ul>\n<li>All products start as <strong>drafts<\/strong> \u2014 nothing goes live until you click Publish<\/li>\n<li>Every request is <strong>nonce-protected<\/strong> and capability-checked (<code>manage_woocommerce<\/code>)<\/li>\n<li>All inputs are <strong>sanitized and escaped<\/strong><\/li>\n<li>Order Shield uses <strong>rule-based scoring<\/strong> \u2014 no external APIs, no third-party data sharing<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>DropProduct<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Make sure <strong>WooCommerce<\/strong> is installed and active<\/li>\n<li>Navigate to <strong>DropProduct<\/strong> in the admin sidebar to start creating products<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20dropproduct%20require%20woocommerce%3F\"><h3>Does DropProduct require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce must be installed and active. DropProduct requires WooCommerce 6.0 or higher.<\/p><\/dd>\n<dt id=\"what%20fields%20can%20i%20edit%20in%20the%20grid%3F\"><h3>What fields can I edit in the grid?<\/h3><\/dt>\n<dd><p>You can edit: <strong>Title<\/strong>, <strong>Short Description<\/strong>, <strong>Regular Price<\/strong>, <strong>Sale Price<\/strong>, <strong>SKU<\/strong>, <strong>Stock Status<\/strong>, <strong>Category<\/strong>, and <strong>Cost Price<\/strong> (internal \u2014 not shown to customers).<\/p><\/dd>\n<dt id=\"how%20does%20the%20order%20shield%20fraud%20protection%20work%3F\"><h3>How does the Order Shield fraud protection work?<\/h3><\/dt>\n<dd><p>Order Shield uses a rule-based scoring engine to assess risk at checkout. Each suspicious signal (disposable email, IP velocity, country mismatch, failed payments, checkout speed) adds risk points. If the total exceeds your \"Block\" threshold, the order is rejected; if it exceeds your \"Review\" threshold, the order is set to \"On Hold\". No external APIs are used.<\/p><\/dd>\n<dt id=\"where%20is%20the%20cost%20price%20stored%3F\"><h3>Where is the Cost Price stored?<\/h3><\/dt>\n<dd><p>Cost prices are stored in <code>wp_postmeta<\/code> under the key <code>_dropproduct_cost_price<\/code>. They are private and never shown to customers.<\/p><\/dd>\n<dt id=\"does%20dropproduct%20work%20with%20woocommerce%20hpos%3F\"><h3>Does DropProduct work with WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>Yes. DropProduct is fully compatible with WooCommerce High-Performance Order Storage (HPOS).<\/p><\/dd>\n<dt id=\"will%20this%20plugin%20slow%20down%20my%20admin%3F\"><h3>Will this plugin slow down my admin?<\/h3><\/dt>\n<dd><p>No. DropProduct loads its CSS and JavaScript <strong>only on the DropProduct admin page<\/strong>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<p>Combined release: includes the unreleased 1.0.1 and 1.0.2 feature sets.<\/p>\n\n<p><strong>New Features<\/strong><\/p>\n\n<ul>\n<li><strong>Sales Analytics Dashboard<\/strong> \u2014 New DropProduct \u2192 \ud83d\udcc8 Sales Analytics submenu with a Freemius-style dashboard layout, summary cards, responsive charts, top products, top countries, and device\/channel breakdowns.<\/li>\n<li><strong>Date Range Filtering<\/strong> \u2014 Quickly switch between 7, 30, 90, and 365-day reporting windows.<\/li>\n<li><strong>CSV Export<\/strong> \u2014 Export the current analytics view for reporting and record keeping.<\/li>\n<li><strong>Cost-to-Profit Tracker<\/strong> \u2014 New \"Cost Price\" grid column. Profit and Margin % calculated in real-time on the client side; cost auto-saved via debounced AJAX to <code>_dropproduct_cost_price<\/code> post meta. Colour-coded display: green (profitable), red (loss), grey (no data).<\/li>\n<li><strong>Ultimate Order Shield<\/strong> \u2014 Complete WooCommerce fraud protection. Rule-based risk scoring (disposable emails +40, IP velocity +30, repeated data +25, country mismatch +20, failed payments +25, checkout speed +20). Honeypot + blacklist instant-block pre-checks. Configurable block\/review thresholds, COD restriction, full activity log. New admin submenu: DropProduct \u2192 \ud83d\udee1\ufe0f Order Shield. Custom DB table <code>{prefix}dropproduct_fraud_log<\/code>.<\/li>\n<li><strong>Quick Bulk Price Adjuster (Price Slasher)<\/strong> \u2014 New bulk pricing feature for selected products. Open the Price Slasher bar via toolbar toggle and apply % or fixed price adjustments to Regular, Sale, or both prices simultaneously.<\/li>\n<li><strong>Smart SEO Alt-Text Automator<\/strong> \u2014 Auto-generates Title Case alt text from filenames on upload. Toggle in Settings. Only sets alt when the field is currently empty.<\/li>\n<li><strong>Individual Publish<\/strong> \u2014 Per-row publish button for publishing a single draft without affecting others.<\/li>\n<li><strong>Custom Delete Modal<\/strong> \u2014 Replaced browser <code>confirm()<\/code> with a styled modal popup for delete confirmations.<\/li>\n<\/ul>\n\n<p><strong>Improvements<\/strong><\/p>\n\n<ul>\n<li>Added a dedicated analytics service and AJAX endpoint for loading dashboard data without leaving the admin page.<\/li>\n<li>Updated the admin navigation to surface Sales Analytics alongside Upload, Settings, Dashboard, and Order Shield.<\/li>\n<\/ul>\n\n<p><strong>Bug Fixes<\/strong><\/p>\n\n<ul>\n<li>Price Slasher bar redesigned from dark indigo theme to a clean <strong>light theme<\/strong> \u2014 white background, indigo left-border accent, full-contrast inputs and labels.<\/li>\n<li><code>handle_bulk_price_adjust()<\/code> AJAX response refactored: returns flat <code>{id, regular_price, sale_price}<\/code> per product instead of nested <code>fields[]<\/code> array \u2014 eliminates the \"price disappears after apply\" bug.<\/li>\n<li>Profit and Margin auto-recalculate whenever Regular Price or Sale Price is edited in the grid.<\/li>\n<li>Regular price inputs no longer lose their values after a Price Slasher bulk adjustment is applied.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Drag &amp; drop multi-image upload with real-time progress bar<\/li>\n<li>Smart filename-to-title conversion with automatic gallery grouping<\/li>\n<li>SPA-style inline editable product grid<\/li>\n<li>Auto-save on blur\/change with visual saving\/saved\/error states<\/li>\n<li>Sale price validation with tooltip warning<\/li>\n<li>Hover image preview, description popup, batch publish with validation<\/li>\n<li>HPOS compatibility declared; extension hooks for Pro integration<\/li>\n<\/ul>","raw_excerpt":"DropProduct is a WooCommerce bulk product uploader that instantly creates draft products from image uploads \u2014 drag &amp; drop multiple images, auto-ge &hellip;","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/291201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=291201"}],"author":[{"embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/codersajjad"}],"wp:attachment":[{"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=291201"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=291201"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=291201"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=291201"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=291201"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/vi.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=291201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}