Reference
The look-it-up chapter. Glossary, capability requirements, hook reference, file locations, URLs, and a theme compatibility matrix. Skim it for orientation, search it when you need a specific fact fast. Cross-references throughout the rest of the manual point back here.
12.1 Capability requirements
What each Bossy feature requires from WordPress user capabilities. Use this table when granting access to staff, debugging permission errors, or designing custom user roles.
Default WordPress/WooCommerce roles and their Bossy access:
- Administrator โ full access to everything in Bossy, free and Pro. The only role that can save Pro Settings.
- Shop Manager โ full Bulk Editor access, can use Media Manager, Import, and Danger Zone, but CANNOT save changes in the Settings tab.
- Editor โ does not have
edit_productsby default. No Bossy access. - Author / Contributor / Subscriber โ no Bossy access.
12.2 WordPress hooks Bossy uses (for developers)
For developers, theme authors, and plugin integrators evaluating Bossy compatibility with custom stacks. These are the WordPress and WooCommerce hooks Bossy attaches to, plus the developer filter hooks you can use to customize Bossy behavior.
Activation and uninstall
register_activation_hook โ on plugin activation, creates the bossy_snapshots database table, sets the post-install redirect flag, and resets the variation scan notice if Pro is present.
register_uninstall_hook โ bossy_uninstall_cleanup_all โ on plugin delete (not deactivate), drops the bossy_snapshots table and removes all Bossy options from the wp_options table.
Personalization hooks (Pro โ Chapter 9)
All six hooks fire only when the personalization field is enabled for a product.
woocommerce_before_add_to_cart_buttonโ renders the text input field on the product page (priority 25).woocommerce_add_to_cart_validationโ blocks add-to-cart if the field is required and empty (priority 10).woocommerce_add_cart_item_dataโ saves the customer's input to cart item session data (priority 10).woocommerce_get_item_dataโ displays the saved input in the cart and checkout summary (priority 10).woocommerce_checkout_create_order_line_itemโ writes the input to order item meta when the order is placed (priority 10).woocommerce_add_order_item_metaโ legacy fallback for older WooCommerce versions that do not fire the hook above (priority 10).
Gallery hooks (Pro)
woocommerce_single_product_image_gallery_classesโ injects thebossy-gallery bossy-gallery-{layout}CSS classes onto the WooCommerce gallery wrapper on classic themes.woocommerce_available_variationโ enriches the variation data payload with gallery attachment IDs so the JS switcher can update images on attribute change (priority 25).render_block_data(block themes only) โ server-side class injection into thewoocommerce/product-galleryblock output before HTML is sent to the browser.blocksy:woocommerce:product-view:attrโ passes thedata-bossy-layoutattribute into Blocksy's gallery component (priority 50).blocksy:woocommerce:product-review:has-gallery-zoom-triggerโ disables Blocksy's built-in zoom trigger when Bossy's gallery is active (priority 50).body_classโ addsbossy-variable-product-shellto variable product pages (priority 99).
Developer filter hooks
These apply_filters() calls are the supported extension points. Use them in your theme's functions.php or a custom plugin.
bossy_docs_urlโ override the docs link Bossy shows in the admin header.bossy_support_urlโ override the support link in the admin header.bossy_gallery_storefront_enabledโ programmatically force the gallery feature on or off regardless of the Settings toggle.bossy_gallery_product_pages_enabledโ fine-grained gate for gallery rendering on product pages.bossy_variation_gallery_max_slides_per_variationโ cap slides per variation gallery. Default:12.bossy_gallery_thumb_skeletonsโ enable skeleton placeholder thumbnails while gallery loads. Default:false.bossy_variation_gallery_lazy_thresholdโ number of variations above which the lazy gallery bootstrap is used instead of inline rendering. Default:15.bossy_blocksy_woo_gallery_templateโ point Bossy at a custom Blocksy-compatible gallery template file on non-standard stacks.bossy_import_tags_replace_underscoresโ whentrue, underscores in imported tag names are replaced with spaces. Default:true.bossy_import_generate_subsizesโ whentrue, generates all registered thumbnail sizes on import sideload (slower; uses more server resources). Default:false.bossy_import_block_private_hostsโ blocks sideload requests to private/local hostnames. Default:true. Disable only if importing from an internal server.bossy_import_block_private_resolved_ipsโ also block URLs that resolve to private IPs (SSRF protection). Default:false.bossy_import_media_inline_max_itemsโ maximum media items to process inline during a single import chunk request. Default:25.bossy_import_http_request_timeoutโ HTTP timeout in seconds for media sideload requests. Default:30. Range: 5โ90.bossy_import_media_max_attemptsโ maximum retry attempts per media URL in the background queue. Default:3.bossy_pro_variation_create_chunk_sizeโ Pro number of variations Generate All Variations creates per AJAX request before looping to the next chunk. Default:50.bossy_pro_generate_all_variations_capโ Pro upper bound (ceiling) on the per-request create-chunk size. Generation is chunked with no total-combination cap; this only clamps how large a single chunk may go. Default:200.bossy_pro_generate_all_trash_obsolete_variationsโ Pro whentrue, stale variations whose attribute combination no longer exists are auto-trashed during generation. Default:true.bossy_pro_generate_all_preserve_variation_fieldsโ Pro whentrue, price/SKU/stock/image data is transferred to matching regenerated variations. Default:true.
12.3 AJAX endpoint reference
Bossy registers WordPress AJAX actions (wp_ajax_{action} for logged-in users). All actions verify the bossy_nonce nonce and check edit_products capability. Undo restore actions also check edit_post per item. Three gallery endpoints register wp_ajax_nopriv_{action} as well so they fire for logged-out shoppers on the storefront.
Core endpoints (Free + Pro)
bossy_loadโ load the product grid (paginated, with filters).bossy_saveโ save inline field edits for one product.bossy_undo_listโ fetch the snapshot list for the undo bar (up to 40 active batches).bossy_undo_restoreโ restore a snapshot batch (locked, verified, partial-aware).bossy_undo_snapshot_captureโ capture-up-front: snapshot the full before-state of an action in one request and return the batch ID; the write then runs prebatched so it does not re-snapshot.bossy_undo_chunk_beginโ open a chunked undo batch and return a token, so the many writes from a single save can be grouped together.bossy_undo_chunk_commitโ commit the chunked batch into one snapshot row, producing a single undo entry per save (parent + variations grouped) instead of one entry per field.bossy_undo_chunk_abortโ discard a chunked batch without writing a snapshot.bossy_save_var_fieldsโ save variation inline field edits (price, stock, SKU, etc.).bossy_save_var_imageโ save a variation's main image.bossy_save_var_galleryโ save a variation's gallery (image set).bossy_delete_variationโ remove a single variation card.bossy_trash_productโ trash one product.bossy_trash_productsโ trash multiple selected products (bulk).bossy_apply_priceโ bulk price action.bossy_apply_sale_datesโ bulk sale dates action.bossy_apply_packageโ bulk package / bundle settings.bossy_apply_dimensionsโ bulk dimensions (weight, L/W/H).bossy_apply_stock_qtyโ bulk stock quantity.bossy_apply_schedule_publishโ bulk schedule publish date.bossy_apply_short_from_longโ auto-generate short description from long description.bossy_apply_sku_schemeโ bulk SKU scheme assignment.bossy_apply_catsโ bulk categories.bossy_apply_tagsโ bulk tags.bossy_apply_shippingโ bulk shipping class.bossy_apply_featuredโ bulk set/unset Featured flag. (New in 1.11.0)bossy_apply_menu_orderโ bulk menu-order value. (New in 1.11.0)bossy_apply_tax_classโ bulk tax class. (New in 1.11.0)bossy_change_product_typeโ change product type (simple โ variable).bossy_variation_gallery_payloadโ variation gallery attachment data for the storefront switcher. Also registered asnopriv(fires for logged-out shoppers).bossy_variation_gallery_flexy_batchโ Flexy classic-theme gallery batch render. Alsonopriv.bossy_variation_gallery_bootstrapโ lazy gallery HTML fetch for products above the 15-variation threshold. Alsonopriv.
Pro-only endpoints
bossy_apply_find_replaceโ find & replace in text fields across selected products.bossy_export_csvโ export selected products as a Bossy-format CSV.bossy_clone_productsโ clone selected products.bossy_pro_add_variation_with_attributeโ submit the Add Variation inline form; creates the attribute value and generates cartesian combinations.bossy_pro_generate_all_variationsโ generate all variations for a product, chunked: creates up to the chunk size (default 50) per call and is called repeatedly by the JS runner until every combination exists. All passes commit to one grouped undo batch, and existing combinations are skipped or updated in place rather than duplicated.bossy_media_loadโ load the Media Manager attachment grid.bossy_media_saveโ save edits to a single attachment.bossy_media_save_batchโ batch-save attachment edits (80 per batch).bossy_media_rename_exclusiveโ rename an attachment filename with collision detection.bossy_media_save_attachment_metaโ save alt text and other attachment metadata.bossy_import_parse_csvโ parse an uploaded CSV, detect source profile (Etsy, generic, etc.), and return column preview.bossy_import_runโ run one import chunk (15 rows); called repeatedly by the JS runner until the file is consumed.bossy_import_media_runโ drain the background media download queue for one batch.bossy_import_save_presetโ save a column mapping preset for reuse.
Non-AJAX: admin_post_bossy_import_clear_media_diag โ clears the media diagnostics log (standard form POST, not AJAX).
Variations tab endpoints (Pro)
bossy_load_variationsโ load the Variations tab flat grid (all variations across the catalog).bossy_apply_var_priceโ bulk variation price. Undo label:bulk_apply_var_price.bossy_apply_var_stock_qtyโ bulk variation stock quantity. Undo label:bulk_apply_var_stock.bossy_apply_var_shippingโ bulk variation shipping class and dimensions. Undo label:bulk_apply_var_shipping.bossy_apply_var_sale_datesโ bulk variation sale price and dates. Undo label:bulk_apply_var_sale_dates.bossy_apply_var_imageโ bulk variation main image. Undo label:bulk_apply_var_image.bossy_apply_var_gallery_replaceโ bulk variation gallery replace, chunked (25 variations per chunk, max 500 per operation). Undo label:bulk_apply_var_gallery_replace.bossy_add_variationโ add a blank variation from the Variations tab (distinct frombossy_pro_add_variation_with_attributeused in the inline form).
Undo labels above are the action strings stored in the bossy_snapshots table. They appear in the undo bar dropdown as the batch name for each Variations tab bulk operation.
12.4 Database schema
Bossy creates one custom table on activation. All other Bossy data lives in WordPress core tables (postmeta, options, term relationships).
Table: {$wpdb->prefix}bossy_snapshots (typically wp_bossy_snapshots)
Payload format: versioned JSON object โ { v: 1, items: [...] } where each item contains an entity type (attachment, product, variation, etc.) and the full before-state for that entity.
Retention behavior:
- 50 batches per user per blog (Chapter 7.2 truth #1)
- Undo list endpoint returns up to 40 active (not-restored) batches by default
- Restored batches stay in the table until they age out of the 50-batch quota
- Plugin uninstall drops the table and removes all Bossy options
12.5 Bossy import template โ column reference
The Bossy template is a 58-column CSV available via the Download Bossy template button on the Import tab. The columns below are the exact headers in the template file (templates/bossy-import-template.csv), in order.
bossy_var_gallery and the bossy_custom_* fields) are Bossy-native. No other WooCommerce importer can consume these columns because the underlying features โ variation galleries and customer personalization โ do not exist outside Bossy.Product Core (cols 1โ4): id, type, sku, parent_sku
id โ WordPress post ID. Provide to update an existing product; leave blank to create new. type โ simple, variable, variation, external, or grouped. sku โ WooCommerce SKU (must be unique). parent_sku โ for variation rows: the SKU of the parent variable product.
Product Identity (cols 5โ9): name, slug, status, featured, catalog_visibility
status โ publish / draft / private. featured โ yes/no. catalog_visibility โ visible / catalog / search / hidden.
Pricing (cols 10โ15): regular_price, sale_price, date_on_sale_from, date_on_sale_to, tax_status, tax_class
Dates use YYYY-MM-DD format. tax_status โ taxable / shipping / none.
Inventory (cols 16โ21): manage_stock, stock_qty, stock_status, backorders, low_stock_amount, sold_individually
stock_status โ instock / outofstock / onbackorder. backorders โ no / notify / yes. Boolean fields use yes/no.
Shipping (cols 22โ27): shipping_class, weight, length, width, height, reviews_allowed
Dimensions use your store's configured unit. shipping_class accepts a slug or name.
Content (cols 28โ31): categories, tags, description, short_description
categories and tags are comma-separated. HTML is accepted in description fields.
Misc / Admin (cols 32โ33): purchase_note, virtual
Digital Products (cols 34โ37): downloadable, downloads, download_limit, download_expiry
downloads โ pipe-separated list of file URLs. download_expiry โ days; -1 for never.
Linked Products / External (cols 38โ42): external_url, button_text, upsells, cross_sells, grouped_products
upsells, cross_sells, grouped_products โ comma-separated SKUs of linked products.
Media (cols 43โ44): image_url, variation_image_url
image_url โ comma-separated URLs or attachment IDs; first becomes the featured image, remainder become the gallery. variation_image_url โ variation rows only: the main image for this variation.
Variation Attributes (cols 45โ48): var_attr_1_name, var_attr_1_value, var_attr_2_name, var_attr_2_value
For variation rows: the attribute name (e.g. Color) and value (e.g. Red) that identify this specific variation. Supports up to 2 attribute pairs in the template; the import UI's mapping supports up to 10.
Product Attributes (cols 49โ53): attr_1_name, attr_1_values, attr_1_visible, attr_1_global, attr_1_default
attr_1_values โ pipe-separated list of all values. attr_1_visible โ yes/no. attr_1_global โ yes/no (taxonomy vs. custom attribute). attr_1_default โ the value pre-selected on the product page. The template includes one attribute column set; the mapping UI supports up to 10.
Bossy Extras (cols 54โ58 โ Bossy-native, Pro only): bossy_var_gallery, bossy_custom_enabled, bossy_custom_required, bossy_custom_label, bossy_custom_placeholder
bossy_var_gallery โ variation rows only: comma-separated image URLs or attachment IDs for the variation's gallery. bossy_custom_enabled / bossy_custom_required โ yes/no. bossy_custom_label / bossy_custom_placeholder โ the text shown to shoppers on the product page personalization field.
12.6 Gallery layout reference (Pro Settings)
The five gallery layouts available in the Settings tab. The UI name is what you see in the dropdown; the internal slug is used by filter hooks and CSS classes (bossy-gallery-{slug}). The description is what each layout produces on the product page.
| UI name | Internal slug | Layout description |
|---|---|---|
| Classic | editorial | Main image above, thumbnails in a row below. Default layout. |
| Side Left | ledge | Thumbnail rail on the left, main image to the right. |
| Side Right | ledge-reverse | Thumbnail rail on the right, main image to the left. |
| Filmstrip | filmstrip | Horizontal scrolling strip of thumbnails below the main image. Uses WooCommerce Interactivity API on block themes. |
| Tiled Collage | quilt | Grid/mosaic layout showing multiple images simultaneously without a main-plus-thumbs hierarchy. |
Classic (editorial) is the fallback if the stored layout slug is invalid or the Settings toggle is off. On classic themes, all five layouts are delivered via the Flexslider + Flexy adapter stack. On block themes (Twenty Twenty-Five and other FSE themes), the block-gallery adapter injects layout classes server-side via the render_block_data filter.
12.7 Theme compatibility status
Bossy has been actively tested against five themes. Other WooCommerce-compatible themes generally work โ see Chapter 6.7 for the full cross-theme architecture notes.
| Theme | Type | Notes |
|---|---|---|
| Storefront | Classic | Official WooCommerce theme. Full support via Flexslider + Flexy adapter. |
| Astra | Classic | Full support via Flexslider + Flexy adapter. |
| Kadence | Classic | Full support via Flexslider + Flexy adapter. |
| Blocksy | Classic | Full support. Bossy integrates directly with Blocksy's Flexy gallery component via the blocksy:woocommerce:product-view:attr filter. |
| Twenty Twenty-Five | Block (FSE) | Full support via the block-gallery adapter. Server-side class injection via render_block_data; Filmstrip uses WooCommerce Interactivity API. |
12.8 URLs and resources
- Plugin home / buy Pro: bossyplugins.com
- Documentation: bossyplugins.com/docs
- Support: support@bossyplugins.com
- Free plugin on WordPress.org: wordpress.org/plugins/bossy-bulk-editor-for-woocommerce
- Free Tools (Etsy SKU Fixer, etc.): bossyplugins.com/tools
- Pricing / upgrade to Pro: bossyplugins.com/#pricing
Both the docs URL and support URL are filterable by developers via bossy_docs_url and bossy_support_url (see section 12.2).
12.9 Glossary
Plain-English definitions of terms used throughout this manual.
Bulk action
An operation that affects multiple selected products at once. Run from the control deck panels in the Bulk Editor.
Control deck
The stack of bulk action panels above the Bulk Editor grid. Each panel handles one type of bulk operation (price, tags, etc.).
Dirty row
A row in the grid with unsaved inline edits. Visually marked. The Save All Changes count tracks dirty rows.
Drag-source strip / image pool
The sticky image strip in the variation panel containing images attached to the current product. Used as a drag source for drag-and-drop image assignment to variations.
Etsy SKU Fixer
Free browser tool at bossyplugins.com/tools that cleans up Etsy CSV exports with sequential SKUs before import.
Featured (column / bulk action)
WooCommerce's Featured flag, surfaced in 1.11.0 as a grid column with a star toggle (hollow = off, filled yellow = on) and a matching Bulk Featured panel with Set / Unset actions. Featured products are what many themes pull into featured blocks and the [featured_products] shortcode.
Floating Save All dock
A second Save All button that appears in the corner of the screen when you scroll the main toolbar out of view and have unsaved changes. Stays synchronized with the toolbar Save All.
Force overwrite generated SKU
Import option that ignores SKUs in your CSV entirely and generates fresh sequential SKUs for every row.
Generate missing SKUs
Import option that fills in blank SKU cells with generated sequential SKUs. CSV rows with existing SKUs are left alone.
LQS (Listing Quality Score)
Term used in Etsy context โ relevant for Etsy migration discussions in Chapter 5.
Mapping preset
A saved CSV import column mapping that can be loaded for future imports of similar files. Saves manual mapping work on repeat imports.
Master switch (Settings)
The "Use Bossy gallery on product pages" toggle in the Settings tab. The most important toggle in Chapter 6.
Menu order
WooCommerce's manual sort weight for products (lower sorts first), added in 1.11.0 as a grid column and a Bulk Menu Order panel. Only affects the visible order when the shop or category is set to Custom / Default sorting.
parent_sku
A CSV column that variation rows use to explicitly point to their parent product's SKU. Recommended way to link variations to parents during import (Chapter 5.13).
Personalization
Shopper-typed text input on a product page that travels with the order to fulfillment. Four fields per product: On checkbox (enables personalization), Req checkbox (makes it mandatory), Label, and Placeholder. The column picker exposes these via three toggles โ Custom Field (contains On + Req), Label, and Placeholder. See Chapter 9.
Resume image sync
Import recovery button that picks up image attachment from where an interrupted import left off, without re-importing product data.
Sheet toolbar
The control row sitting above the product grid containing search, filters, Save All Changes, Undo Changes, status indicator, and column picker.
SKU collision
When two products attempt to use the same SKU. WooCommerce requires unique SKUs. Most common cause of failed saves, failed imports, and failed undo restores.
Snapshot / batch
A record in the bossy_snapshots table capturing the before-state of every item touched by a Bossy operation. Used for the undo system.
Source profile (Import)
Bossy's detection of what kind of CSV you uploaded (Etsy, generic, etc.). Suggests which Auto-map button to use.
Sticky variation header
The header at the top of the variation panel that stays visible while scrolling through long variation lists. Contains variation count, search, Add Variation (Pro), and Expand/Collapse All.
Tax class
The WooCommerce tax class that decides which tax-rate table applies at checkout (Standard plus any custom classes). Added in 1.11.0 as a grid column and a single-action Bulk Tax Class panel.
Trash (grid trash)
Bossy's selection-based product trash action (Chapter 2.9). Select rows, then use the toolbar "Trash selected" button or the floating dock button that appears when the toolbar is scrolled out of view. Moves products to WordPress Trash (recoverable). Never permanently deletes.
Undo bar
The snapshot list at the top of the Bulk Editor and Media Manager. Shows recent snapshots and lets you restore them.
Variations tab
A Pro-only tab in Bossy showing every product_variation in the catalog as a flat, filterable list. Supports attribute filtering (by Color, Size, etc. across the entire catalog) and variation-specific bulk actions (price, stock, sale dates, image, gallery, shipping). Documented in Chapter 13.
Variable product / Variation
A WooCommerce product type where one parent product has multiple variations (different sizes, colors, etc.). Bossy expands variations inline in the grid.
Variation gallery
A set of images specifically tied to one variation. Pro feature. Shown on the storefront when a shopper selects that variation's attribute combination.
12.10 Import performance benchmarks
Measured on Bluehost Basic shared hosting โ destructive import tests (full wipe, then re-import). Product success rate was 100% at all sizes. Image success rate at 10,000 was 99.94% (remainder recoverable via Resume image sync).
Performance on VPS, managed WordPress, or cloud hosting will be faster. The bottleneck at scale is server resources (CPU, RAM, PHP workers, MySQL), not Bossy logic.
12.11 Shared hosting performance architecture
Bossy is not a plugin that tolerates shared hosting โ it is a plugin designed for it. Every mechanism that touches time, memory, or network was built with a 30-second PHP max_execution_time and a single-threaded MySQL in mind. Here is what that looks like in practice.
Chunked CSV import
The CSV importer never tries to process an entire file in one request. It works in chunks of 15 rows per HTTP round-trip. If a chunk fails due to a network hiccup, it halves the chunk size (down to a minimum of 5 rows) and retries up to three times with exponential backoff before flagging the row as failed. When images are causing timeouts, a media safe mode is available that skips image attachment for the run and lets you sync images separately afterward via Resume image sync.
Deferred media queue
Image downloads during import do not happen inline. URLs go into a queue backed by a transient with a 6-hour TTL. A background processor โ WooCommerce Action Scheduler when available, wp_cron otherwise โ drains the queue in adaptive batches: it starts at 10 images per batch, grows to 20 when batches complete cleanly, and drops to 2 when one fails. Each URL gets up to three retry attempts; after the third, it is cached as failed for 30 minutes before being eligible again. The queue is bounded: at most 25 items flush inline per page request, and the system caps queue depth to prevent unbounded memory growth. This is why image sync continues working correctly even on hosts that kill long-running processes mid-import.
Import sideload optimization
When Bossy downloads and attaches an image during import, it skips generating intermediate thumbnail sizes that are not needed for the import itself. It also disables WordPress's "big image" downscaling step that normally fires on every upload. Both optimizations are controllable by developers via filter hooks if your workflow requires them. The net effect is roughly 40โ60% less server time per image on typical setups. Per-request static caching for attachment ID lookups prevents redundant database queries when the same image URL appears across multiple products or variations.
Paginated bulk editor grids
The bulk editor loads 50 products per page by default (the Variations tab caps at 100 rows for the same reason). You can change the page size in Settings, but 50 is the tested sweet spot for shared hosting. Search is debounced so typing does not fire a query on every keystroke, and if you change a filter or page before the previous request finishes, the in-flight request is aborted rather than queued behind it.
Bounded bulk writes
Bossy limits concurrent outbound saves to 4 at a time, regardless of how many rows are selected. The media manager processes images in batches of 80. Variation gallery writes chunk at 25 variations per pass with a ceiling of 500 variations per operation. Undo snapshots are pruned to the last 50 per user automatically, so the snapshot table does not grow without bound on large catalogs. These ceilings exist specifically because shared hosts have low MySQL connection limits and per-process memory caps.
Lazy variation galleries
For products with 15 or more variations, Bossy does not load variation gallery HTML in the initial page render. Instead it sends only a list of attachment IDs and a flag telling the browser to fetch the rendered gallery HTML in the background โ in batches of 8 variations per request โ after the page is already interactive. The rendered HTML for each variation's gallery is cached server-side for 24 hours, so repeat page loads (or the next shopper) get the cached version instantly. Slides per gallery are capped at 12. On a product with 50 variations, this approach avoids generating and transmitting ~50 gallery HTML blocks on every page load.
Frontend rendering discipline
The storefront-side scripts Bossy loads (gallery, variation switcher) are written in vanilla JavaScript โ no jQuery dependency on the front end. Critical layout CSS ships in the <head> so the gallery never causes a layout shift as the page loads. Variation image maps are computed once and memoized rather than recalculated on every attribute change. Script loading uses single-enqueue guards so the same asset cannot be registered twice by competing hooks.
Transient-backed session state
Import sessions โ which row the importer is on, which SKUs have been seen, which media URLs are queued, which parent products have been created โ are stored in WordPress transients with scoped keys and automatic expiration. Nothing lives in PHP memory across requests. This means you can close the browser mid-import, come back hours later, and Resume from where it stopped โ the state survives because it was never in the process, it was always in the database.
Chapter 12 recap
- Capability requirements:
edit_productsfor all admin features,manage_optionsfor saving Pro Settings,delete_postfor trash and undo restore. - Bossy uses 5 standard WooCommerce hooks for personalization plus 1 legacy fallback hook.
- All AJAX endpoints check nonce + capability + per-product permissions where relevant.
- One custom database table (
bossy_snapshots) holds the undo data. Dropped on plugin delete. - The Bossy import template has 58 columns covering every WooCommerce product field plus
bossy_var_galleryand the four personalization columns โ the only WooCommerce import format that includes these Bossy-specific fields. See section 12.5 for the full column reference. - Five gallery layouts: Classic (default), Side Left, Side Right, Filmstrip, Tiled Collage. Names shown in Settings UI; internal slugs map to editorial/ledge/ledge-reverse/filmstrip/quilt.
- Bossy is specifically engineered for shared hosting: 15-row chunked CSV import with adaptive retry, deferred media queue with Action Scheduler, lazy variation galleries above 15 variations, 4-concurrent save cap, and transient-backed session state that survives a closed browser mid-import.
- Free + Pro both keep all your data โ Bossy never modifies WooCommerce's own tables.