Fix: a hidden plan still appears as a sub-option in WHMCS checkout

A plan is marked hidden in the ImpulseMinio admin, but customers still see it on the WHMCS order form as a sub-option.

Last updated 20 days ago

Fix: a hidden plan still appears as a sub-option in WHMCS checkout

What you're seeing

You toggled a plan to hidden in the ImpulseMinio admin tab (or set hidden=1 directly in mod_impulseminio_plans). The plan is supposed to be unavailable to customers β€” maybe it's deprecated, maybe it's a staff-only test plan. But customers ordering an ImpulseDrive product see it appearing in the configurable-options dropdown anyway.

Why it happens

WHMCS configurable options have their own visibility flag at the suboption row level in tblproductconfigoptionssub. The ImpulseMinio admin's hidden flag suppresses the plan in the addon's own UI but doesn't propagate to that WHMCS table. On top of that, some WHMCS order-form themes scan every suboption row regardless of WHMCS's own hidden flag β€” so even setting hidden=1 through the WHMCS admin Product Configurable Options editor isn't reliable. The only behaviour you can count on is the row being absent or removed.

Fix

The reliable fix is to suppress the suboption row directly. Find the option group ID for the region/plan picker (Setup then Products/Services then Configurable Options), then either delete the suboption row or rename it so it never matches the plan slug the addon expects.

To delete a single suboption by exact name:

DELETE FROM tblproductconfigoptionssub WHERE optionname = 'deprecated-plan-slug';

To delete every suboption tied to a specific configurable option group:

DELETE FROM tblproductconfigoptionssub WHERE configid = <option-group-id> AND optionname = 'deprecated-plan-slug';

If you want to keep the row but make it invisible, set the hidden flag (works on most themes but not all):

UPDATE tblproductconfigoptionssub SET hidden = 1 WHERE optionname = 'deprecated-plan-slug';

After running, clear the WHMCS template cache (Utilities then System then System Cleanup then Empty Template Cache) and load the order form in an incognito window to confirm.

How to confirm it worked

Open the order form for the affected product in an incognito browser tab. The plan should no longer appear in the region/plan dropdown. The ImpulseMinio admin tab continues to show the plan as hidden, which is what you want for record-keeping.

A note on the long-term fix

If you want the plan gone permanently, delete it from the ImpulseMinio admin's Plans tab rather than just hiding it. The addon will offer to delete the matching WHMCS product and its configurable options at the same time. Hiding is meant for plans you might re-enable later.

Related