Documentation
v1.11.0 Get Bossy Pro โ†’
Free + Pro Chapter 2 ยท v1.11.0

Bulk Editor

Chapter 2 โ€” The Bulk Editor. The grid view for high-speed catalog edits.

Plugin version: v1.11.0

The Bulk Editor is the main screen and the reason you installed Bossy. This chapter walks through every part of it: the filter row at the top, the column visibility picker, the product grid, how to select rows, every bulk-action panel, how to save, how to trash, and the floating command bar that follows you down the page.

Everything here applies to both Free and Pro unless marked otherwise. Where a Pro-only panel lives in the same control deck as the free ones, its Pro callout sits inline so you can see exactly what the upgrade adds.

2.1 Tour of the screen

From top to bottom, the Bulk Editor has four primary zones plus one context-aware element:

  • The Undo bar. Sits at the very top. Shows recent snapshots and lets you restore them. Chapter 7 covers this in full detail.
  • The control deck. A stack of bulk-action panels โ€” categories, tags, featured, menu order, tax class, shipping class, price, sale dates, schedule publish, package (weight and size), stock, SKU scheme, and product copy. In 1.11.0 the deck was reworked into a tighter, card-based layout with consistent panel placement across Free and Pro. Pro users see three additional panels: Find & Replace, CSV Export, and Bulk Clone.
  • The sheet toolbar. Search box, filter dropdowns, Save All Changes button, Undo Changes button, Trash selected button, save status indicator, and the column picker anchor.
  • The product grid. The editing grid itself โ€” one row per product, paginated.
  • The floating command bar. Anchored at the bottom-right corner of the screen. It carries two buttons that follow you as you scroll: a Save All Changes button (mirrors the toolbar Save All) and a red Add to Trash button for trashing selected rows without scrolling back up. The Save All button only appears when you have unsaved changes; the trash button only appears when rows are selected. Full details in sections 2.7 and 2.9.

Every bulk-action panel stays inert until you have selected at least one row in the grid. Until you select something, every Apply button is disabled โ€” Bossy will not run a bulk action against nothing.

2.2 The filter row

The filter row sits just above the product grid. It controls what loads into the grid. Filters compound โ€” every filter you set narrows the result further.

Search products. Searches product titles, SKUs (including variation SKUs), and category names. Multi-word queries use AND logic โ€” every word must appear. Type and the grid filters live. Clear the field to see everything again.

Categories filter. Dropdown of the WooCommerce product categories that have at least one product. Pick one to show only products in that category.

Shipping class filter. Dropdown of your shipping classes, with two special options at the top:

  • All shipping classes โ€” no filtering by shipping class
  • No shipping class โ€” show only products with no shipping class assigned (handy for finding products that still need one set)

Status filter. Filter by post status:

  • All statuses (default)
  • Published โ€” live on the storefront
  • Scheduled โ€” set to publish at a future date
  • Draft โ€” saved but not published
  • Private โ€” visible only to logged-in shop managers and admins

Type filter. Filter by product type:

  • All types (default)
  • Simple โ€” single product, no variations
  • Variable โ€” has variations (sizes, colors, etc.)

Clear Filters. Resets all five filters at once. Useful when you want to bail out of a deeply narrowed view and start over.

๐Ÿ’ก
Filters decide what loads; selection decides what a bulk action touches. Filter to find the right products, then check the rows you want, then act. A bulk action only ever affects the rows you actually selected โ€” never the whole filtered set.

2.3 The product grid

The grid lays out your products one row at a time โ€” a fast, editable view of your catalog. The columns you see depend on what is enabled in the column picker (covered in 2.4).

Anatomy of a row

Every row has the same structure left to right:

  • Select checkbox for marking the row for bulk actions
  • Image thumbnail โ€” the product's featured image
  • Editable fields โ€” whichever columns you have visible (title, SKU, price, etc.)
  • Save button โ€” saves changes for that one row only

Click any editable field, type your change, and the row enters a "dirty" state. That row's Save button darkens to show there is something to save, and the Save All Changes count in the toolbar ticks up.

โ„น๏ธ
A "dirty" row is one with unsaved inline changes. There is no auto-save. If you paginate, switch tabs, or refresh before saving, those inline edits are lost.

Variable product rows

Variable products show an expand control on the row โ€” a "vars" badge. Click it to expand the variation cards inline below the row. Variation editing is covered in Chapter 3.

Pagination

The grid loads products in pages to keep the screen responsive. At the bottom you see page navigation and the page count. Pending inline changes are not carried across pages โ€” save before you paginate.

๐Ÿ’ก
Row selections do not survive pagination either. If you are running a bulk action against a large category, verify the selection counter shows what you expect before clicking Apply.

2.4 The column visibility picker

The grid is column-configurable. The free plugin ships 21 columns; Pro adds four more โ€” Attributes, Custom Field, Label, and Placeholder โ€” for 25 total. By default only seven of the toggleable columns are shown (the most-used ones); the column picker turns the rest on and off based on what you are working on today.

โ„น๏ธ
New in 1.11.0: three columns joined the grid in both Free and Pro โ€” Featured, Menu order, and Tax class. Featured and Menu order sit right after the Img thumbnail; Tax class sits with the package/shipping fields. All three support inline edit, per-row save, Save All, and snapshot undo, and each has a matching bulk-action panel (see 2.6).

To open the column picker: click the columns control in the sheet toolbar (right side, near Save All Changes).

Your column preferences are saved in your browser (under the key bossy_col_visibility_v1). Switch browsers or clear your browser data and column visibility resets to the defaults.

What is visible by default

Out of the box the grid shows: Img, Title, SKU, Type, Status, Reg Price, Sale Price, Stock, and Save. That is the seven default toggleable columns (Title, SKU, Type, Status, Reg Price, Sale Price, Stock) plus the always-on locked columns.

๐Ÿ’ก
Three columns are locked and cannot be turned off: the Select checkbox, the Img thumbnail, and the Save button. Everything else โ€” including Title โ€” is yours to toggle.

Full column reference

Locked (always visible): Select, Img, Save.

Toggleable, shown by default: Title, SKU, Type, Status, Reg Price, Sale Price, Stock.

Toggleable, hidden by default (Free + Pro): Featured, Menu order, Tax class, Weight, Length, Width, Height, Categories, Tags, Shipping Class, Short / long (descriptions).

Pro-only columns: Attributes, Custom Field, Label, Placeholder.

๐Ÿ’ก
The Featured column shows a star toggle โ€” hollow when off, filled yellow when on โ€” so it reads clearly and never gets confused with the row-selection checkbox. Click the star to flag or unflag a product; it saves like any other inline edit.
โ„น๏ธ
The Custom Field column (Pro) travels with its two dependents โ€” Label and Placeholder. They belong to the customer personalization feature (Chapter 9); turning the group on shows all three, turning it off hides them together. The Attributes column is also Pro (Inline Attributes editing).

2.5 Selecting rows for bulk actions

Every bulk action operates on the rows you have selected. Selection works two ways:

Per-row checkbox. The first column of every row. Click to select that one product.

Select All header checkbox. In the header row at the top of the grid. Click to select every product currently visible on the page.

The selection counter sits next to the bulk-action panels and tells you how many rows are selected, like "12 selected". If it says 0, every Apply button stays disabled.

โš ๏ธ
Select All only selects rows on the current page, not across pagination. If you filter to a category with 80 products spread over four pages and click Select All, you have selected only the rows on the page you are looking at. To act on all 80, raise your per-page count so they load at once, or work one page at a time.

2.6 The bulk-action panels (the control deck)

Every bulk action lives in its own panel in the control deck. Each panel works the same way:

  1. Select rows in the grid (the panel's buttons stay disabled until you do).
  2. Fill in the inputs for that panel (pick a category, enter a price, etc.).
  3. Click the Apply button for that panel.
  4. Bossy runs the change against the selected rows, captures a snapshot for undo, and shows the result.

Applied changes update in place โ€” Bossy patches the affected cells right where they sit instead of reloading the whole grid, so your scroll position, row selections, and any pending edits elsewhere are preserved. This holds even with a sort active: run the sequential SKU scheme with the SKU column sorted, and the new SKUs are written in sort-aware order without a jarring full refresh.

The free bulk-action panels are covered first, in order, followed by the three Pro-only panels.

Bulk Category

Apply categories to multiple products at once.

Dropdown: "- pick a category -" listing every WooCommerce product category.

Three action buttons:

  • + Add to selected โ€” adds the chosen category without removing existing categories
  • = Set for selected โ€” replaces all current categories on the selected products with just the chosen one
  • - Remove from selected โ€” removes the chosen category, leaving other categories intact
๐Ÿ’ก
Use "Add" when you are layering a sale category onto existing ones. Use "Set" when you are reorganizing your catalog. Use "Remove" when you are cleaning up after a sale ends.

Bulk Tag

Same three-button pattern as Bulk Category, but for product tags.

  • + Add to selected โ€” adds the tag without removing existing tags
  • = Set for selected โ€” replaces all current tags with just the chosen tag
  • - Remove from selected โ€” removes the tag, leaves others intact

Flags or unflags selected products as Featured in one pass โ€” the catalog-scale version of the star toggle in the Featured column.

Two action buttons:

  • Set featured โ€” marks every selected product as Featured
  • Unset featured โ€” clears the Featured flag on every selected product
๐Ÿ’ก
Featured products are what many themes pull into "Featured" blocks, sliders, and the [featured_products] shortcut. Curating a homepage collection? Filter to the category, Select All, Set featured โ€” then Unset featured on the whole set when the promotion ends.

Bulk Menu Order New in 1.11.0

Sets the menu order value on selected products. Menu order is the manual sort weight WooCommerce uses when a catalog or category is sorted by "Custom ordering" โ€” lower numbers sort first.

Value field. A whole number (it can be negative to force products to the very front).

Apply to selected writes that menu-order value to each selected product.

โ„น๏ธ
Menu order only changes the visible sort when your shop (or the relevant category) is set to sort by Custom ordering / Default sorting. If your store sorts by price or popularity, the value is stored but has no visible effect until you switch the sort.

Bulk Tax Class New in 1.11.0

Applies a WooCommerce tax class to every selected product in one pass.

Dropdown: lists your configured tax classes โ€” Standard plus any custom classes defined under WooCommerce โ†’ Settings โ†’ Tax (e.g. Reduced rate, Zero rate).

Apply to selected sets the chosen tax class on each selected product. Like Shipping Class, there is a single action here because a product carries one tax class, not many.

โ„น๏ธ
Tax class decides which tax rate table WooCommerce applies at checkout. Bulk Tax Class is the fast way to move a whole group โ€” say, apparel that qualifies for a reduced rate โ€” onto the correct class without opening each product.

Bulk Shipping Class

Dropdown: "- pick a class -" listing every shipping class defined in WooCommerce โ†’ Settings โ†’ Shipping โ†’ Shipping Classes.

= Set for selected replaces the shipping class on each selected product with the chosen one. There is only one action here because shipping class is single-value โ€” a product has one class, not many.

โ„น๏ธ
Shipping class is what tells WooCommerce which rate to apply at checkout under Calculated Shipping. Make sure your selected products actually belong in the same shipping bucket before you bulk-set them.

Bulk Price

The most-used bulk action. Updates regular or sale price on selected products using five modes.

Field dropdown: Regular price or Sale price.

Mode dropdown:

  • Set to โ€” replaces the price with a fixed value
  • % + โ€” increases price by a percentage (10 = 10% increase)
  • % - โ€” decreases price by a percentage (20 = 20% decrease)
  • $ + โ€” increases price by a flat amount (5 = $5 more)
  • $ - โ€” decreases price by a flat amount (3 = $3 less)

Value field. A number input. Accepts decimals.

Apply to selected runs the math against each selected product and saves.

โ„น๏ธ
On a variable product, Bossy applies the price change to the product's variations (a variable product with no variations is skipped with a notice). And when you run a percentage or amount change on the sale price of a product that has no sale price yet, Bossy bases the math on the regular price โ€” so "Sale price, % -, 20" produces a real 20%-off sale even on products that were never on sale before.
๐Ÿ’ก
Putting a 20% sale across a category? Filter to it, Select All, set Field to "Sale price", Mode to "% -", enter 20, Apply. Then run the Sale Dates panel to set the start and end dates.

Bulk Sale Dates

Schedules sale start and end dates on selected products.

Start date. When the sale price activates.

End date. When the sale price expires. After this date, WooCommerce reverts to the regular price automatically.

Force sale OFF checkbox. An override that immediately clears the sale price and all sale dates on the selected products. Use it to kill a sale early or clean up old sale data.

Apply dates runs the change.

โš ๏ธ
Sale dates do nothing visible without a sale price. The sale price must have a value for dates to matter. If you set dates but forget the sale price, customers keep seeing regular prices.

Bulk Schedule Publish

Schedules selected products to move from Draft (or any non-published status) to Published at a specific future date and time.

Publish at field. A datetime picker. The label notes it uses your browser's local time โ€” Bossy converts it to your site time zone behind the scenes.

Schedule selected queues the publish. The selected products move to Scheduled status and go live automatically at the time you set.

๐Ÿ’ก
Great for launches. Build your new listings as Drafts, finalize them, then bulk-schedule the whole batch to publish at 9 AM launch day. WordPress's built-in cron handles the actual publish.

Bulk Package (weight and size)

This panel sets physical shipping dimensions on selected products. It has two independent groups โ€” Weight and Size โ€” that apply separately (they are even two separate operations under the hood).

Weight group

The label follows your WooCommerce weight unit (WooCommerce โ†’ Settings โ†’ Products โ†’ Weight unit).

  • If your store uses lb, the panel shows two inputs, lb and oz, so you can enter pounds and ounces separately.
  • For all other units (kg, g, oz), a single weight input appears, labeled with the unit.

Apply weight updates only the weight on selected products. Size is untouched.

Size group

Three inputs: L (length), W (width), H (height). The label shows your WooCommerce dimension unit (in, cm, mm, etc.).

Apply size updates only the dimensions on selected products. Weight is untouched.

โ„น๏ธ
Weight and size apply separately on purpose. Need to fix only the length on 50 products? Fill in just L and click Apply size. Empty fields are ignored โ€” they will not overwrite existing values with blanks.

Bulk Stock

Sets a single stock quantity on all selected products.

Quantity input. A number, minimum 0.

Apply to selected writes that quantity to each selected product.

โš ๏ธ
Bulk Stock sets every selected product to the same number. If product A has 5 and product B has 30, and you bulk-set to 10, both end up at 10. There is no "add 10 to each" mode in this panel.
โ„น๏ธ
On a variable product, stock is held per variation. Bulk Stock pushes one quantity down to every variation of the selected variable products โ€” the same number to each. Set per-variation quantities from the variation cards (Chapter 3) or the Variations tab.

Bulk SKUs (sequential SKU scheme)

Generates sequential SKUs for selected products. Built for new-product launches when you want a predictable SKU pattern. This action targets whole products (simple or variable parents), not individual variations.

Prefix field. Up to 24 characters. Auto-uppercases as you type, and accepts letters, numbers, hyphen, and underscore (other characters are stripped, and leading or trailing dashes/underscores are trimmed). Example: SSC or MOTEL.

Start number. The first number in the sequence. Default 1.

Digits. How many digits to pad to, from 1 to 10 (default 4). With Digits = 4 and Start = 1 you get 0001, 0002, 0003. With Digits = 2 and Start = 7 you get 07, 08, 09.

Separator. Three options:

  • Hyphen (-) โ€” produces SSC-0001, SSC-0002 (default)
  • Underscore (_) โ€” produces SSC_0001, SSC_0002
  • None (tight) โ€” produces SSC0001, SSC0002

Only if SKU empty checkbox. Checked, Bossy writes a new SKU only on products that currently have none, leaving existing SKUs alone. Unchecked, Bossy re-numbers every selected product โ€” and to make clean sequential renumbering possible, it clears the targeted SKUs first so the new values can be claimed without WooCommerce forcing "-1" collision suffixes.

Apply to selected runs the assignment.

โš ๏ธ
Generated SKUs must be unique across your entire WooCommerce store. If a prefix + number combination collides with an existing SKU on a different product, that assignment fails. "Only if SKU empty" is the safest choice for new-product launches.
๐Ÿ’ก
Migrating from Etsy? Use the free Etsy SKU Fixer at bossyplugins.com/tools before importing. Upload your Etsy CSV, set your prefix and digit width, download the cleaned file, then run it through Bossy's CSV Import (Pro) with the Etsy auto-map preset. The in-plugin Bulk SKUs panel assigns SKUs to products that already exist in WooCommerce; the Etsy SKU Fixer cleans SKUs in your CSV before import. Different jobs, no overlap.

Product copy: Fill short from long

A single-button utility. It takes the first three sentences of each selected product's long description and writes them into the short description field. Handy for products that have a full description but an empty short description (which often shows in cart, checkout, and category pages).

Fill short from long (3 sentences) is the button. No inputs, no options โ€” it runs as-is.

โš ๏ธ
This action overwrites the existing short description with the first three sentences of the long one. It does not check whether a short description is already there โ€” if the long description has text, the short description is replaced. The only rows it skips are products whose long description is empty (nothing to copy). It is snapshot-backed, so if it clobbers a short description you wanted to keep, restore it from the Undo bar.

Bulk Find & Replace

๐Ÿ’œ
Pro only. This panel appears only in Bossy Bulk Editor Pro. Free users do not see it in the control deck.

Find-and-replace text across product fields on selected products.

Field dropdown: Title, Short description, Long description, or SKU.

Find field. The text to search for.

Replace with field. The replacement text.

Case sensitive checkbox. Checked, "Color" and "color" are treated as different strings.

Match mode New in 1.11.0 โ€” choose how Find is matched:

  • Plain โ€” matches your text anywhere it appears (the classic behavior)
  • Whole word โ€” matches only when Find stands alone as a word, so replacing "art" won't touch "cart" or "smart"
  • Regex โ€” treats Find as a regular expression for pattern-based replacements (capture groups, anchors, character classes, and the rest)

Apply to selected runs the replacement on every selected product.

๐Ÿ’ก
Renaming a brand? Filter to that brand's category, Select All, Find: "OldName", Replace with: "NewName", Apply. Done in seconds across hundreds of products.
โš ๏ธ
Regex mode is powerful and unforgiving โ€” a greedy pattern can rewrite far more than you intended. Start in Plain or Whole word for everyday swaps, and when you do reach for Regex, test on a small selection first. Every replacement is snapshot-backed, so the Undo bar can put a bad run right back.

Bulk CSV Export

๐Ÿ’œ
Pro only. This panel appears only in Bossy Bulk Editor Pro.

Exports product data to a downloadable CSV. Two dropdowns control what gets included.

Scope dropdown:

  • Filtered (default) โ€” exports every product matching your current filter state, across all pages
  • Selected only โ€” exports only the rows you have checked
  • All products โ€” exports your entire catalog, ignoring filters and selection

Columns dropdown:

  • All fields (default) โ€” every Bossy-supported field, even ones not shown in your visible columns
  • Visible columns only โ€” just the columns currently shown in your column picker
  • Core fields โ€” a curated set of the most essential fields

Export CSV triggers the download to your browser's default downloads folder.

โ„น๏ธ
New in 1.11.0: the export now includes featured, menu_order, tax_class, virtual, and downloadable so more of your catalog round-trips through export โ†’ edit โ†’ import. One caveat: featured, tax_class, virtual, and downloadable already map on import, but menu_order exports today and gets a matching import path in a follow-up release โ€” so re-importing won't set menu order just yet.
๐Ÿ’ก
Quick insurance before a risky bulk action: set Scope to "All products", Columns to "All fields", Export CSV. Now you have an offline snapshot of your whole catalog. Undo covers tracked operations; a CSV covers everything else.

Bulk Clone

๐Ÿ’œ
Pro only. This panel appears only in Bossy Bulk Editor Pro.

Duplicates selected products. Useful for spinning up variants of an existing listing without rebuilding from scratch.

Copies field. How many copies of each selected product to create. Min 1, max 10.

Status dropdown:

  • Draft clones โ€” clones start as drafts, hidden from the storefront until you finalize and publish them
  • Published clones โ€” clones go live immediately

SKU mode dropdown:

  • Clear SKU on clones โ€” clones get blank SKUs (fill them in later, e.g. with the Bulk SKU scheme)
  • Keep source SKU โ€” clones inherit the source SKU (only workable if you immediately edit one, since SKU collisions block saving)

Clone selected runs the duplication.

โš ๏ธ
"Keep source SKU" creates immediate SKU collisions โ€” the clones will not save until each gets a unique SKU. Default to "Clear SKU on clones" unless you have a specific duplicate-then-edit workflow.

2.7 Saving your changes

There are two save mechanisms โ€” per-row Save and Save All Changes. The Save All control lives in two synchronized places: the sheet toolbar and the floating command bar.

Per-row save

Each row has its own Save button in the locked Save column (rightmost). Click it to save just that row โ€” handy when you have edited one product inline and want to commit it before moving on.

Save All Changes (toolbar)

The Save All Changes button in the sheet toolbar saves every dirty row in the grid at once. A status indicator next to it shows progress, success, or errors during the save.

โ„น๏ธ
Bulk-action panels save themselves the moment you click Apply. Save All Changes is only for the inline cell edits you made directly in the grid.

The floating command bar

Editing a large catalog means scrolling deep into the grid, far from the toolbar at the top. The floating command bar stays anchored to the bottom-right corner and carries two buttons that follow you down the page.

Save All Changes button โ€” appears in the floating bar when you have dirty rows and runs the exact same save flow as the toolbar button. It disappears when there is nothing to save.

Add to Trash button (red) โ€” appears when you have rows selected. Bulk-trashes the selected products from wherever you are in the grid, with the same confirmation dialog as the toolbar Trash selected button. See section 2.9 for full trash behavior and undo coverage.

Synchronization between the floating bar and the toolbar:

  • Both Save All buttons trigger the same flow. The dirty-row count and enabled state stay in lock-step.
  • The floating trash button mirrors the toolbar Trash selected state โ€” shown only when a selection exists, disabled again immediately after the trash runs.
  • Save status messages (progress, success, errors) appear in both places at once.
๐Ÿ’ก
For big sessions โ€” 50+ inline edits, or long selection-and-trash runs โ€” the floating bar kills the constant scrolling back to the top. Both critical actions stay within reach wherever you are in the grid.

What "dirty" looks like

When a row has unsaved inline edits, Bossy marks it visually (a highlighted Save button / row indicator). Both the toolbar Save All Changes button and the floating bar track the count of dirty rows.

โš ๏ธ
Navigating away, refreshing, or switching Bossy tabs without saving loses your inline edits. Bulk-action panel changes are already saved at the moment you click Apply โ€” inline cell edits are not.

2.8 The "Undo Changes" button

Next to Save All Changes in the toolbar is a button labeled Undo Changes. It is different from the snapshot Undo bar at the top of the screen.

  • Undo Changes (toolbar button) โ€” discards inline edits you have made to the grid that have not been saved yet. A "throw away my unsaved work" button.
  • Undo bar at top (snapshot system) โ€” restores previously saved actions to their prior state. Covered in Chapter 7.
โ„น๏ธ
Think of it this way: Undo Changes is "I changed my mind before saving." The snapshot Undo bar is "I saved that and shouldn't have."

2.9 Deleting products from the grid

Bossy lets you trash products straight from the grid without leaving the screen. Products are trashed in bulk โ€” select the rows, then use either the toolbar button or the floating button below. Both move products to WordPress trash (recoverable, not permanent deletion) and both work in Free and Pro.

This is the right tool for removing a handful of products โ€” outdated listings, test products you made while learning, retired SKUs, a typo product saved by accident. For nuking large portions of your catalog at once (hundreds of products, a full test-data wipe, an abandoned migration), use Danger Zone (Chapter 8) โ€” it is dramatically faster than trashing in batches.

Trash selected โ€” toolbar button

The Trash selected button sits in the sheet toolbar. It is disabled until at least one row is selected.

  1. Select the rows to trash using per-row checkboxes or the Select All header checkbox.
  2. Click Trash selected in the sheet toolbar.
  3. A confirmation dialog appears: "Move X selected product(s) to trash?"
  4. Click OK. The selected products move to WordPress trash, the rows leave the grid, and a toast confirms.
โ„น๏ธ
Trashing a variable product also trashes its variations โ€” native WordPress behavior, since trashing a parent post takes its children with it. The undo system captures the whole parent + variations snapshot, so restoring brings the entire product back together.
โš ๏ธ
Select All only selects rows on the current page (see 2.5). To trash all 80 products of a category spread across four pages, act page by page or raise your per-page count so they load at once. Bulk trash respects your selection โ€” it never trashes filtered-but-unselected rows.

Floating Add to Trash button

The toolbar button solves trash when you are near the top of the grid. The floating Add to Trash button solves it when you are not.

It sits in the floating command bar at the bottom-right corner of the screen, styled red so it reads immediately as a destructive action. It appears whenever you have at least one row selected and stays visible as you scroll; when your selection is empty, it disappears.

  1. Select the rows to trash anywhere in the grid, using per-row checkboxes or Select All.
  2. Scroll to wherever you need to be โ€” or stay put. The red button is already in the bottom-right corner.
  3. Click the red Add to Trash button.
  4. The same confirmation dialog appears: "Move X selected product(s) to trash?"
  5. Click OK. The selected rows move to WordPress trash and leave the grid. A toast confirms, and Bossy captures a snapshot for undo.
โ„น๏ธ
The floating Add to Trash button and the toolbar Trash selected button are identical in behavior โ€” same confirmation, same snapshot, same undo coverage. The only difference is where on the screen you click. Use whichever is closer.

Undo: the best part about Bossy trash

Here is what makes Bossy's trash better than the native WooCommerce alternative: trash actions are captured by Bossy's snapshot system. Every trash is recorded in your undo bar.

Two ways to recover a trashed product:

  • Bossy Undo (recommended). Open the undo bar at the top of the Bulk Editor, find the trash snapshot, click Restore. The product comes back exactly as it was โ€” variations, prices, descriptions, images, and meta.
  • WordPress Trash. Go to Products โ†’ All Products โ†’ Trash tab, find the product, click Restore. Standard WordPress recovery, works like any other trashed post.

Both paths produce the same result. Bossy Undo is faster because you never leave the Bulk Editor. WordPress Trash still works after the Bossy snapshot has rolled off retention (see Chapter 7.2).

๐Ÿ’ก
Not sure whether to restore a trashed product? Leaving it in WordPress trash is safe. By default, WordPress empties trash after 30 days, and recovery is available the whole time โ€” through Bossy Undo (until the snapshot rolls off) or WordPress Trash (until WordPress empties it).

Permanent deletion: when trash is not enough

Bossy's grid trash buttons never permanently delete. Trash always goes to WordPress trash. This is deliberate โ€” there is no "permanently delete" button you can hit by accident from the grid.

To permanently delete a product:

  • Go to Products โ†’ All Products โ†’ Trash tab in WordPress admin
  • Either click Delete Permanently on a specific trashed product, or click Empty Trash to clear them all at once

For wiping the whole catalog at once, use Danger Zone (Chapter 8). For removing a specific test product for good, trash it from the Bossy grid, then delete it permanently from WordPress Trash. Two steps โ€” but neither one is the kind of mistake that haunts you.

Permissions: who can trash what

Bossy trash respects WordPress capabilities. To use Trash selected, a user needs:

  • The edit_products capability (standard for Administrator and Shop Manager roles), and
  • The delete_post capability for each specific product being trashed โ€” WordPress checks this per-product at trash time.

If a user can see the grid but the Trash buttons are disabled, missing, or fail with a permission error, they lack delete_post on those products. This most often happens with custom roles from membership or staff plugins that grant editing but withhold deletion. Add the delete_post capability to that role to grant trash access.

2.10 Common workflows

Workflow 1: Putting a category on sale for the weekend

  1. Open Bossy at WooCommerce โ†’ Bossy Bulk Editor.
  2. In the Categories filter, pick the category going on sale (e.g. "Statement Necklaces").
  3. Click the Select All checkbox in the grid header to select every product in the filtered view (one page at a time โ€” see 2.5).
  4. Verify the selection counter shows the right number.
  5. In Bulk Price: set Field to "Sale price", Mode to "% -", enter 20.
  6. Click Apply to selected. Confirm the success message.
  7. In Bulk Sale Dates: pick the start and end dates.
  8. Click Apply dates. Confirm.
  9. Done. Sale prices activate on the start date and revert automatically on the end date.
๐Ÿ’ก
Before running the sale, click Export CSV (Pro) with Scope = "Selected only" and save the file. Now you have a record of the regular prices in case you ever need to re-verify after the sale ends.

Workflow 2: Launching new products with sequential SKUs

  1. Open Bossy and set the Status filter to "Draft".
  2. Select the products you just added (Select All if the whole Drafts list is the launch batch).
  3. In Bulk SKUs: enter your prefix (e.g. SSC), Start number (e.g. 1), Digits (e.g. 4), Separator (e.g. Hyphen).
  4. Check Only if SKU empty if any drafts already have SKUs you want to keep.
  5. Click Apply to selected. Each product gets a sequential SKU like SSC-0001, SSC-0002.
  6. When ready to launch, select the same products and use Bulk Schedule Publish to set a go-live time.

Workflow 3: Renaming a brand across your catalog (Pro)

  1. Filter to the brand's category to narrow the grid.
  2. Click Select All in the grid header.
  3. In Find & Replace: pick the Field (Title, a description, or SKU).
  4. Enter the old name in Find and the new name in Replace with.
  5. Decide whether to enable Case sensitive, and pick a Match mode โ€” Plain for a straight swap, Whole word to avoid partial hits like "art" inside "cart", or Regex for pattern matches.
  6. Click Apply to selected. Bossy runs the replacement and captures a snapshot.
  7. Repeat per field that needs updating โ€” titles first, then descriptions, then SKUs.
๐Ÿ’ก
Run the most visible field first (Title) and check a couple of products on the storefront before continuing. If you typo'd the replacement, you catch it after one field instead of all four.

Workflow 4: Adding a sale tag to a curated list of products

  1. Use the search box to find your first product. Check it.
  2. Search for the next product. Check it.
  3. Repeat to build your list (selection survives across search changes since you are not paginating).
  4. In Bulk Tag: pick your "Sale" tag from the dropdown.
  5. Click + Add to selected. The tag is added to all selected products without disturbing existing tags.

Workflow 5: Cleaning up test or retired products

  1. Filter or search to find the products to remove. Status = "Draft" is useful for test products.
  2. Select the rows to trash. Verify the selection counter.
  3. Click Trash selected in the sheet toolbar (or the red floating button).
  4. Confirm the bulk trash dialog.
  5. Changed your mind? Open the Undo bar at the top and restore the snapshot.

Chapter 2 recap

  • The Bulk Editor has four zones: Undo bar, control deck, sheet toolbar, and product grid.
  • Filters narrow what is in the grid. Selection determines what a bulk action affects.
  • Every bulk action follows the same pattern: select rows, fill the panel, click Apply.
  • Apply buttons stay disabled until you select rows. That is a safety feature.
  • Save All Changes commits inline edits. Bulk-action panels save themselves on Apply.
  • The grid has 21 columns in Free and 25 in Pro. Only Select, Img, and Save are locked; the seven default-visible toggleable columns are Title, SKU, Type, Status, Reg Price, Sale Price, and Stock.
  • New in 1.11.0: Featured (a star toggle), Menu order, and Tax class columns โ€” each with a matching bulk-action panel โ€” plus a reworked card-based control deck.
  • "Fill short from long" overwrites the short description โ€” it is snapshot-backed, so undo has your back.
  • SKU prefixes are up to 24 characters, auto-uppercased; digits pad 1โ€“10.
  • A floating command bar at the bottom-right gives you an always-available Save All Changes button (when rows are dirty) and a red Add to Trash button (when rows are selected).
  • Select All only selects rows on the current page, not across pagination.
  • SKU collisions are the single most common cause of failed saves. Use unique SKUs.
  • Pro adds three bulk actions: Find & Replace (with Plain, Whole word, and Regex match modes), CSV Export, and Bulk Clone.
  • Trash selected (Free + Pro) moves products to WordPress trash with full Bossy Undo coverage. Permanent deletion still requires WordPress Trash โ†’ Delete Permanently or Danger Zone (Chapter 8).