WP Manifestindependent plugin directory
manifest / admin / wp-admin-dashly

WP Admin Dashly

A lightweight WordPress plugin that allows each logged-in user to personalize their own WordPress admin dashboard interface, without affecting any other user's experience.

★ 1stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/rahulwalunje/wp-admin-dashly/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Per-user WordPress admin personalization — colors, fonts, and layout, without affecting anyone else.

WP Admin Dashly is a lightweight WordPress plugin that allows each logged-in user to personalize their own WordPress admin interface independently. Settings are stored per user, so every team member gets their own look without impacting others.


Features

  • Color controls — Customize the sidebar background, admin bar, accent color, and menu text independently
  • Typography — Choose from 10 font families (system default, Inter, Roboto, Poppins, DM Sans, Nunito, Lato, Open Sans, Plus Jakarta Sans, Merriweather) with an adjustable base font size
  • Layout — Control corner roundness applied across buttons, inputs, and cards
  • 12 built-in themes — Default, Midnight, Minimal, Nord, Ocean, Forest, Rose, Slate, Sunset, Indigo, Corporate, Charcoal
  • Custom presets — Save your own named presets and apply them in one click (up to 25 per user)
  • Live preview — See changes applied to the real admin chrome in real time before saving
  • Per-user isolation — Every user's settings are stored independently; no changes affect other users
  • Master toggle — Disable all styling without losing saved settings
  • Frontend admin bar — Applies your chosen admin bar color on the frontend for logged-in users
  • Clean uninstall — Removes all stored data from the database when the plugin is deleted

Requirements

  • WordPress 6.0 or higher
  • PHP 7.4 or higher
  • Node.js 18+ and npm (only required to build from source)

Installation

Option A — Install from zip (recommended)

  1. Download the latest wp-admin-dashly.zip from Releases
  2. Go to wp-admin → Plugins → Add New → Upload Plugin
  3. Upload the zip and activate

Option B — Build from source

# 1. Clone or copy the plugin into wp-content/plugins/
cd wp-content/plugins/wp-admin-dashly

# 2. Install dependencies and build
npm install
npm run build

# 3. Activate in wp-admin → Plugins
# 4. Navigate to wp-admin → Admin Dashly

If you skip npm run build, the plugin will display a friendly notice on the settings page.


Usage

Once activated, each logged-in user will find an Admin Dashly entry in the WordPress admin menu. From there they can:

  1. Pick a preset theme as a starting point
  2. Adjust individual colors, fonts, and layout controls
  3. Save their preferences — changes apply immediately across all admin pages
  4. Optionally save the current configuration as a named custom preset

Changes are scoped entirely to the logged-in user and have no effect on other users or the public frontend.


Architecture

wp-admin-dashly/
├── wp-admin-dashly.php              ← Plugin bootstrap
├── uninstall.php                    ← Cleanup on delete
├── includes/
│   ├── class-wpad-plugin.php        ← Singleton, wires all hooks
│   ├── class-wpad-defaults.php      ← Default preferences, presets, font list
│   ├── class-wpad-preferences.php   ← user_meta read / write / sanitize
│   ├── class-wpad-rest-controller.php ← REST API routes
│   ├── class-wpad-admin-page.php    ← Admin menu + React mount point
│   └── class-wpad-style-injector.php ← CSS output on every admin page
├── src/
│   ├── index.js                     ← React entry point
│   ├── App.js                       ← Settings UI
│   ├── api.js                       ← REST helpers via @wordpress/api-fetch
│   ├── livePreview.js               ← Real-time CSS variable application
│   └── index.css                    ← Settings page styles
└── build/                           ← Compiled assets (generated by npm run build)

REST API

All routes are under the namespace wp-admin-dashly/v1. Every route requires the user to be logged in; WordPress handles nonce verification automatically via X-WP-Nonce.

Method Endpoint Description
GET /preferences Retrieve the current user's preferences
POST /preferences Save the current user's preferences
DELETE /preferences Reset preferences to defaults
GET /presets List built-in presets and available font families
POST /custom-presets Save current settings as a named custom preset
DELETE /custom-presets/{id} Delete a custom preset

Per-user storage

All preferences are stored as a single JSON object in WordPress user meta under the key wpad_preferences. There is no shared global state — each user's data is completely independent.


Development

npm start     # Watch mode — rebuilds on every file change
npm run build # Production build

The build uses @wordpress/scripts (webpack with WP-aware externals). The UI is built with @wordpress/components, which is already bundled with WordPress and adds zero weight to the plugin.


License

GPL-2.0-or-later — consistent with WordPress core.