Every command accepts --format=<json|table|csv|yaml>. Commands marked Write accept --dry-run (resolve, audit, write nothing) and --yes (skip the prompt). Commands marked Irreversible additionally prompt unless --yes is passed, and any bulk delete refuses to run without an explicit scope argument rather than defaulting to delete-all.
Delegates to IAS\BundleDeals\Database::create_bundle(). New bundles are created DISABLED unless --enabled is passed, so they never go live before you have reviewed and synced them.
Options
Argument
Required
Type
Description
<name>
yes
positional
Bundle display name.
--products=<csv>
yes
flag (value)
Comma-separated WC product IDs. Each must exist, be published and purchasable, and must not itself be a bundle.
--discount=<spec>
yes
flag (value)
Discount specification — one of percent:<n> (n = 0-100), fixed:<amount> (flat amount off the regular total), or bundle:<price> (a flat total price for the whole bundle).
[--enabled]
no
flag
Create the bundle in the active state (default: disabled).
[--dry-run]
no
flag
Validate and report what would be created without writing anything.
This command permanently destroys data or applies a terminal state that cannot be undone from the CLI. Preview the exact effect with --dry-run, then re-run with --yes once you are certain.
Delete a bundle and its synced (hidden) WooCommerce product.
Force-deletes the linked WC_Product_Simple (via IAS\BundleDeals\BundleProduct::delete_product()) and then removes the bundle row (via IAS\BundleDeals\Database::delete_bundle(), which also flushes the bundle cache). This is NON-RECOVERABLE.
For safety the command REFUSES to delete a bundle that has recorded purchases unless --force is given. The purchase guard reads the bundle analytics table (net purchases = purchases minus refunds); if analytics are disabled no purchases are recorded, so pass --force to delete in that case.
Options
Argument
Required
Type
Description
<id>
yes
positional
Bundle ID.
[--force]
no
flag
Override the purchase guard — delete even if the bundle has recorded purchases. This is NOT the confirmation flag; pass --yes to skip the prompt.
[--dry-run]
no
flag
Report what would be deleted (including whether it would be refused) without writing anything.
[--yes]
no
flag
Skip the confirmation prompt.
[--format=<format>]
no
flag (value)
Output format.
Returns
The deleted bundle_id and the linked_product_id that was removed.
Delegates to IAS\BundleDeals\BundleProduct::sync_product(), which creates or updates the hidden WC_Product_Simple that powers native cart/checkout. Use this to repair drift between a bundle definition and its linked product.
Options
Argument
Required
Type
Description
<id>
yes
positional
Bundle ID.
[--yes]
no
flag
Skip the confirmation prompt (suite-standard for write commands).
[--force]
no
flag
Alias for --yes — re-sync without the confirmation prompt.
[--dry-run]
no
flag
Report what would be synced without writing anything.