{"id":311326,"date":"2026-05-30T08:53:14","date_gmt":"2026-05-30T08:53:14","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/lavo-bulk-edit-for-woocommerce\/"},"modified":"2026-05-30T08:54:46","modified_gmt":"2026-05-30T08:54:46","slug":"lavo-bulk-edit-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/lavo-bulk-edit-for-woocommerce\/","author":23495694,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.2","requires_php":"8.0","requires_plugins":null,"header_name":"Lavo Bulk Edit for WooCommerce","header_author":"LavoHQ","header_description":"Bulk edit thousands of WooCommerce products and variations at once. No row caps, full variable product support, compound filters, and undo.","assets_banners_color":"110324","last_updated":"2026-05-30 08:54:46","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/lavohq.com\/wordpress-plugins\/lavo-bulk-edit-for-woocommerce","header_author_uri":"https:\/\/lavohq.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":66,"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":"lavohq","date":"2026-05-30 08:54:46"}},"upgrade_notice":{"1.0.0":"<p>Initial release. No upgrade steps required.<\/p>\n\n<hr \/>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3554487,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3554487,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3554487,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3554487,"resolution":"1","location":"assets","locale":"","width":2542,"height":1290},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3554487,"resolution":"2","location":"assets","locale":"","width":2544,"height":784},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3554487,"resolution":"3","location":"assets","locale":"","width":2540,"height":118},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3554487,"resolution":"4","location":"assets","locale":"","width":2540,"height":118},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3554487,"resolution":"5","location":"assets","locale":"","width":2542,"height":88},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3554487,"resolution":"6","location":"assets","locale":"","width":648,"height":136}},"screenshots":{"1":"<strong>The product table<\/strong> - grouped columns for Inventory, Pricing, and Status. Variable products expand to show all variations with attribute labels.","2":"<strong>Inline editing<\/strong> - click any price, SKU, or status field directly in the table to edit it in place.","3":"<strong>Filter bar<\/strong> - active filters shown as removable chips. Compound attribute filtering with AND logic.","4":"<strong>Action bar<\/strong> - queue multiple field changes as chips, then apply them all at once.","5":"<strong>Progress bar<\/strong> - live processed \/ total indicator for large background operations. Reconnects after page refresh.","6":"<strong>Undo toast<\/strong> - a persistent on-screen notification after every bulk operation. One click to revert."}},"plugin_section":[],"plugin_tags":[11143,6601,702,6602,286],"plugin_category":[45],"plugin_contributors":[265046],"plugin_business_model":[],"class_list":["post-311326","plugin","type-plugin","status-publish","hentry","plugin_tags-bulk-edit","plugin_tags-inventory","plugin_tags-products","plugin_tags-variations","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-lavohq","plugin_committers-lavohq"],"banners":{"banner":"https:\/\/ps.w.org\/lavo-bulk-edit-for-woocommerce\/assets\/banner-772x250.png?rev=3554487","banner_2x":"https:\/\/ps.w.org\/lavo-bulk-edit-for-woocommerce\/assets\/banner-1544x500.png?rev=3554487","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/lavo-bulk-edit-for-woocommerce\/assets\/icon-256x256.png?rev=3554487","icon_2x":"https:\/\/ps.w.org\/lavo-bulk-edit-for-woocommerce\/assets\/icon-256x256.png?rev=3554487","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/lavo-bulk-edit-for-woocommerce\/assets\/screenshot-1.png?rev=3554487","caption":"<strong>The product table<\/strong> - grouped columns for Inventory, Pricing, and Status. Variable products expand to show all variations with attribute labels."},{"src":"https:\/\/ps.w.org\/lavo-bulk-edit-for-woocommerce\/assets\/screenshot-2.png?rev=3554487","caption":"<strong>Inline editing<\/strong> - click any price, SKU, or status field directly in the table to edit it in place."},{"src":"https:\/\/ps.w.org\/lavo-bulk-edit-for-woocommerce\/assets\/screenshot-3.png?rev=3554487","caption":"<strong>Filter bar<\/strong> - active filters shown as removable chips. Compound attribute filtering with AND logic."},{"src":"https:\/\/ps.w.org\/lavo-bulk-edit-for-woocommerce\/assets\/screenshot-4.png?rev=3554487","caption":"<strong>Action bar<\/strong> - queue multiple field changes as chips, then apply them all at once."},{"src":"https:\/\/ps.w.org\/lavo-bulk-edit-for-woocommerce\/assets\/screenshot-5.png?rev=3554487","caption":"<strong>Progress bar<\/strong> - live processed \/ total indicator for large background operations. Reconnects after page refresh."},{"src":"https:\/\/ps.w.org\/lavo-bulk-edit-for-woocommerce\/assets\/screenshot-6.png?rev=3554487","caption":"<strong>Undo toast<\/strong> - a persistent on-screen notification after every bulk operation. One click to revert."}],"raw_content":"<!--section=description-->\n<p>Lavo Bulk Edit is a free WooCommerce plugin for editing products, prices, stock, and variations in bulk - with no row caps, full variable product support, and real post-save undo.<\/p>\n\n\n\n<h3>Why Lavo Bulk Edit is different<\/h3>\n\n<p><strong>No row caps, ever.<\/strong>\nEdit your entire catalog in one session. Whether you have 500 products or 500,000, Lavo Bulk Edit pages through them cleanly at 25, 50, 100, or 200 rows at a time - no artificial limits.<\/p>\n\n<p><strong>Variable products that actually work.<\/strong>\nEvery variation appears as its own editable row, directly beneath its parent, with full attribute labels shown inline (e.g. <em>Size: Large \/ Color: Red<\/em>). No collapsing, no guessing, no clicking into individual products just to change a price.<\/p>\n\n<p><strong>Queue multiple changes, apply once.<\/strong>\nAdd as many field changes as you need before committing - price adjustments, stock updates, category reassignments, status changes - then apply them all in a single operation. One request. One save per product.<\/p>\n\n<p><strong>Bulk thousands of products without timeouts.<\/strong>\nOperations on more than 200 products automatically run in the background using WooCommerce's own Action Scheduler. A live progress bar shows you exactly how far along the job is. If you close the tab or refresh the page mid-operation, the progress bar reconnects automatically when you return - no lost work.<\/p>\n\n<p><strong>Real post-save undo.<\/strong>\nNot a pre-save preview. Not a session-only rollback. Lavo Bulk Edit records a before\/after snapshot of every field it touches. Made a mistake? Hit Undo from the on-screen notification - your products are restored exactly as they were.<\/p>\n\n<p><strong>Edit inline, without the action bar.<\/strong>\nClick any price, SKU, stock quantity, stock status, or publish status directly in the table and edit it in place. Changes save immediately. A green flash confirms success; a red flash tells you something went wrong. No modals, no reloads.<\/p>\n\n\n\n<h3>Features<\/h3>\n\n<p><strong>Bulk editing<\/strong>\n* Apply changes to any number of selected products and variations simultaneously\n* Queue multiple field changes and apply them all in one operation\n* Supported fields: regular price, sale price, stock quantity, stock status, product status, SKU, categories, featured flag, catalog visibility\n* Price operations: set fixed value, increase\/decrease by fixed amount, increase\/decrease by percentage\n* Stock operations: set, increase, decrease\n* Category operations: add to, remove from, or overwrite categories entirely\n* Live progress bar for large batches - shows processed \/ total in real time\n* Background processing for batches over 200 products - no PHP timeouts, no browser hanging\n* Progress reconnects automatically if you navigate away and return mid-job<\/p>\n\n<p><strong>Undo<\/strong>\n* Every bulk operation is logged with full before\/after snapshots\n* On-screen toast notification with a one-click Undo button - stays visible until you dismiss it\n* Reverts the complete batch instantly, product by product, via the WooCommerce ORM<\/p>\n\n<p><strong>Inline cell editing<\/strong>\n* Click-to-edit: regular price, sale price, stock quantity directly in the table\n* Dropdown-to-edit: stock status, product status - no typing needed\n* Press Enter or click away to save; press Escape to cancel with no changes<\/p>\n\n<p><strong>Product table<\/strong>\n* Sticky grouped column headers: Image \u00b7 Product \u00b7 Inventory \u00b7 Pricing \u00b7 Status\n* Variable products expand to show all variations in-line with attribute labels\n* Collapse\/expand toggle per variable product\n* Per-row checkbox selection, header checkbox for select-all, independent parent\/variation selection\n* Type badges distinguish Simple, Variable, Variation, External, and Grouped products<\/p>\n\n<p><strong>Filtering<\/strong>\n* Filter by: product name (contains), product type, publish status, category, tag, price range, stock status, SKU (partial match)\n* Compound attribute filtering with AND logic across multiple taxonomy attributes\n* Active filters shown as removable chips - easy to read, easy to clear\n* Page resets automatically on every filter change<\/p>\n\n<p><strong>Pagination<\/strong>\n* 25 \/ 50 \/ 100 \/ 200 products per page\n* Variation rows are shown within their parent's page and do not count against the per-page total\n* Total product count and current range shown at all times<\/p>\n\n\n\n<h3>Built for performance<\/h3>\n\n<p>Lavo Bulk Edit is engineered to stay fast as your catalog grows:<\/p>\n\n<ul>\n<li>Batches over 200 products run as background Action Scheduler jobs - a live progress bar in the action bar shows processed \/ total and fills in real time<\/li>\n<li>Jobs are persisted in the database. If you close the browser tab or refresh mid-operation, the progress bar reconnects automatically when you return<\/li>\n<\/ul>\n\n\n\n<h3>100% Free<\/h3>\n\n<p>Lavo Bulk Edit is completely free. Every feature listed above is included at no cost - no account required, no license key, no expiry. Install directly from the WordPress plugin directory and start editing in under a minute.<\/p>\n\n<p>A Pro version with more features is coming soon.<\/p>\n\n\n\n<h3>Development<\/h3>\n\n<p>The JavaScript and CSS in this plugin are compiled from source. The uncompiled source files are included in the plugin zip under the <code>src\/<\/code> directory, alongside <code>package.json<\/code>, <code>package-lock.json<\/code>, and <code>webpack.config.js<\/code>.<\/p>\n\n<p>To build from source:<\/p>\n\n<ol>\n<li>Install Node.js (v18 or higher) and pnpm (<code>npm install -g pnpm<\/code>).<\/li>\n<li>From the plugin root directory, run: <code>pnpm install<\/code><\/li>\n<li>For a development build: <code>pnpm run build<\/code><\/li>\n<li>For a production (minified) build: <code>pnpm run build:production<\/code><\/li>\n<\/ol>\n\n<p>Build output is written to <code>plugin\/assets\/build\/<\/code>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>lavo-bulk-edit<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install directly from the WordPress plugin directory.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Navigate to <strong>Lavo Bulk Edit<\/strong> in the WordPress admin sidebar - it appears just below the WooCommerce menu.<\/li>\n<li>Your products load automatically. No setup wizard, no configuration required.<\/li>\n<\/ol>\n\n<p><strong>Requirements<\/strong>\n* WordPress 6.4 or higher\n* WooCommerce 8.0 or higher\n* PHP 8.0 or higher<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20there%20a%20limit%20on%20how%20many%20products%20i%20can%20edit%20at%20once%3F\"><h3>Is there a limit on how many products I can edit at once?<\/h3><\/dt>\n<dd><p>No. You can edit your entire catalog in one operation - there are no row caps. Large batches run in the background so your browser stays responsive.<\/p><\/dd>\n<dt id=\"does%20undo%20work%20after%20i%27ve%20navigated%20away%20from%20the%20page%3F\"><h3>Does undo work after I've navigated away from the page?<\/h3><\/dt>\n<dd><p>Yes. The undo batch is saved to the database, so it survives page navigation within the same session.<\/p><\/dd>\n<dt id=\"can%20i%20edit%20variations%20independently%20from%20their%20parent%3F\"><h3>Can I edit variations independently from their parent?<\/h3><\/dt>\n<dd><p>Yes. Every variation appears as its own row with its own checkbox, so you can select any mix of parent products and variations.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20variable%20products%20that%20have%20many%20attributes%3F\"><h3>Does it work with variable products that have many attributes?<\/h3><\/dt>\n<dd><p>Yes. Attribute labels are shown inline with each variation row (e.g. Color: Red \/ Size: Large).<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20store%3F\"><h3>Will this slow down my store?<\/h3><\/dt>\n<dd><p>No. The plugin only loads on the Lavo Bulk Edit admin page and has no impact on your storefront.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20woocommerce%20hpos%3F\"><h3>Is it compatible with WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>Yes. HPOS compatibility is fully declared.<\/p><\/dd>\n<dt id=\"can%20i%20filter%20by%20multiple%20attributes%20at%20the%20same%20time%3F\"><h3>Can I filter by multiple attributes at the same time?<\/h3><\/dt>\n<dd><p>Yes. Multiple attribute filters combine with AND logic - for example, Color = Red AND Size = Large.<\/p>\n\n<\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Product table with grouped columns: Image, Product, Inventory, Pricing, Status<\/li>\n<li>Variable product support with inline variation rows and attribute labels<\/li>\n<li>Inline cell editing: regular price, sale price, stock quantity, stock status, product status<\/li>\n<li>Bulk apply: regular price (fixed, +\/- fixed, +\/- percent), sale price, stock quantity, stock status, product status, SKU, categories, featured, catalog visibility<\/li>\n<li>Multi-field change queuing - apply multiple fields in one operation<\/li>\n<li>Category operations: Add, Remove, Overwrite<\/li>\n<li>Real post-save undo via database snapshots - persistent on-screen toast with one-click revert<\/li>\n<li>Auto-refresh of the product table after every bulk operation or inline edit<\/li>\n<li>Filter bar: name contains, type, status, category, tag, price range, stock status, SKU (partial match), compound attribute filters<\/li>\n<li>Pagination at 25 \/ 50 \/ 100 \/ 200 products per page<\/li>\n<li>Standalone admin menu page positioned below WooCommerce<\/li>\n<li>Background job processing via Action Scheduler for batches over 200 products - no PHP timeouts<\/li>\n<li>Live progress bar showing processed \/ total for large background operations<\/li>\n<li>Job persistence - progress bar reconnects automatically after a page refresh or tab close<\/li>\n<li>Full WooCommerce HPOS compatibility<\/li>\n<\/ul>","raw_excerpt":"Bulk edit WooCommerce products, prices, stock, and variations at once. No row caps, compound filters, and real post-save undo.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/311326","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=311326"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/lavohq"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=311326"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=311326"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=311326"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=311326"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=311326"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=311326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}