Repository navigation
Builder Meta Cleanup v2.3.1
Summary tab is now the default + per-stack opt-out checkboxes
Two UX refinements requested by users of the v2.3.0 Summary tab.
Changed
- Summary is now the default tab and the first entry in the navigation. Opening Tools → Builder Meta Cleanup now lands on the site-wide overview instead of Themes & frameworks. The remaining tab order is: Summary → Themes & frameworks → Page builders → Plugins → About & tools.
- Per-stack breakdown table now includes an Include checkbox column on the left, with one checkbox per detected inactive stack. Every checkbox is pre-checked on page load so the default behavior matches the previous "delete all" flow — uncheck any rows you want to exclude before clicking the cleanup button. A master Include / Select all checkbox in the column header toggles every row at once and reflects an indeterminate state when only some rows are checked.
- The bulk submit button rewrites its own label live as you toggle checkboxes — for example "Delete 12,345 rows for 3 selected stack(s)" — and disables itself when zero stacks are selected. The backup-confirmation gate from v2.3.0 is preserved on top of this.
Added
Builder_Meta_Cleanup_Service::delete_all_for_inactive( ?array $only_target_ids = null )accepts an optional allowlist of target ids. Passingnull(the default) keeps the existing "delete every inactive target" behavior, so the WP-CLIclean-orphanscommand and any external callers are unchanged.- Return shape gains
targets_skipped_unselectedso the admin success message can distinguish "skipped because the stack is still active" from "skipped because you unchecked it".
Safety
- The admin POST handler validates posted target ids against the live registry and re-runs
is_target_active()per target before deleting anything. The per-stack checkboxes can only narrow the bulk action — they can never widen it, bypass the active-stack guard, or delete data for an unknown target id. - The backup-confirmation checkbox gate from v2.3.0 still applies on top of the new per-stack opt-out.
Upgrade
Patch release. No data migration, no configuration changes. The Summary tab will now load first when you click Tools → Builder Meta Cleanup — direct links to the other tabs (tools.php?page=builder-meta-cleanup&bmc_tab=theme|page_builder|plugin|about) still work unchanged.