When they search, make sure they find you!
New

ID Dashboard Cleanup

Hide, show, and reorder WordPress dashboard widgets site-wide from a simple settings page.

v1.1.0 Free Documentation

Description

The WordPress dashboard is the first thing you see when you log in, and on most sites it’s a mess. Welcome panels, Quick Draft, WordPress Events and News, plugin promo widgets — they all compete for space and push the content you actually care about below the fold.

ID Dashboard Cleanup gives administrators site-wide control over which dashboard widgets appear, in what order, and across how many columns. Toggle visibility with checkboxes, drag-and-drop widgets between columns, and choose a 2-, 3-, or 4-column layout. Your choices apply to every user on the site.

Site-Wide Control

Unlike the built-in Screen Options (which only affect your own view), Dashboard Cleanup enforces a consistent layout across all users. When you hide a widget, it’s hidden for everyone. When you reorder widgets, everyone sees the same arrangement. This is essential for client sites where you want a clean, focused dashboard without the clutter.

Multi-Column Drag-and-Drop

The settings page mirrors the actual dashboard layout with sortable columns. By default you get two — Main and Side — but you can switch to 3 or 4 columns with a dropdown. Widgets appear as draggable cards with grip handles. Drag a widget from one column to another to change its placement. Drag within a column to reorder. Toggle the checkbox to show or hide a widget. Changes save when you click the submit button.

Column Layout Selector

Choose between 2, 3, or 4 dashboard columns from the settings page. The column count is enforced site-wide, overriding each user’s Screen Options. WordPress may display fewer columns on smaller screens — the setting controls the maximum.

Automatic Widget Detection

Dashboard Cleanup automatically detects all registered dashboard widgets, including those added by other plugins. When you install a new plugin that adds a dashboard widget, it appears in the settings list on your next visit — no need to rescan or refresh. New widgets default to visible so you never miss a feature, but you can hide them in seconds.

Lightweight Implementation

The plugin hooks into WordPress at exactly the right priority to capture widgets after all plugins have registered theirs, then applies your visibility and order preferences. A single database option stores your configuration, and a persistent fallback ensures the settings page works reliably even if the cached widget list expires. jQuery UI Sortable handles the drag interaction using WordPress core dependencies.

Key Features

  • Toggle dashboard widget visibility with simple checkboxes
  • Drag-and-drop reorder between Main and Side columns
  • Site-wide enforcement — changes apply to every user on the site
  • Automatic detection of widgets registered by other plugins
  • New widgets appear automatically — no rescan needed
  • Two-column settings layout mirroring the actual WordPress dashboard
  • jQuery UI Sortable for intuitive drag-and-drop reordering
  • Grip handles for clear visual affordance on draggable items
  • Transient caching for fast widget list loading
  • Lightweight — single database option stores all configuration
  • Full uninstall cleanup — removes all data and transients when deleted

Requirements

WordPress 5.0+
PHP 7.2+
Tested Up To 6.9

Changelog

# Changelog

All notable changes to ID Dashboard Cleanup will be documented in this file.

## 1.1.0 — 2026-02-21

- Fix: Widget checkboxes no longer uncheck on save (sanitize_key lowercased widget IDs, causing mismatches).
- Fix: Widget list now persists as a fallback option so settings survive transient expiration.
- New: Dashboard column count selector (2, 3, or 4 columns) applied site-wide.
- New: Widgets can be dragged between all configured columns.

## 1.0.0 — 2026-02-14

- Initial release.
- Toggle dashboard widget visibility site-wide.
- Drag-and-drop reorder between Main and Side columns.
- Settings page under Settings > Dashboard Cleanup.
- Automatic detection of new widgets from other plugins.