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.

by Rahul Walunje · github.com/rahulwalunje/wp-admin-dashly · website

1stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/rahulwalunje/wp-admin-dashly/archive/refs/heads/main.zip

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.