β οΈ ΨͺΩΨ¬Ω: Ψ§ΫΩ Ψ§ΩΨ²ΩΩΩ ΩΩΩΨ² Ψ―Ψ± ΨΨ§Ω ΨͺΩΨ³ΨΉΩ Ψ§Ψ³Ψͺ Ω Ψ¨Ψ±Ψ§Ϋ Ψ§Ψ³ΨͺΩΨ§Ψ―Ω Ψ―Ψ± Ω ΨΫΨ· ΨͺΩΩΫΨ― (Production) Ω ΩΨ§Ψ³Ψ¨ ΩΫΨ³Ψͺ.
β οΈ NOTICE: This plugin is still under development and is NOT ready for production use.
A revolutionary WordPress admin dashboard plugin β modern, ultra-responsive, with a unique visual design built on React.
| Feature | Description |
|---|---|
| π¨ Modern Interface | React-based SPA with code splitting, lazy loading, and fluid animations |
| π Dashboard Widgets | 4 customizable widgets with drag-and-drop layout per user |
| β¨οΈ Command Palette | Global Ctrl+K (Cmd+K) instant search across posts, pages, media, users |
| π Menu Manager | Reorder, hide, and customize admin menu with drag-and-drop |
| π·οΈ White Label | Rebrand for agencies: custom name, color, footer, hide branding |
| π Dark Mode | System-aware dark/light toggle with smooth transitions |
| π RTL Ready | Full right-to-left support for Persian, Arabic, Hebrew |
| π± Responsive | Mobile-first 320pxβ4K with off-canvas navigation |
| βΏ Accessible | Keyboard nav, ARIA, reduced-motion, contrast ratios |
| π Persian (ΩΨ§Ψ±Ψ³Ϋ) | Fully translated Iranian Persian interface |
| β‘ Performance | 26KB initial JS, API caching, debounced search |
- Dashboard β Widget grid with site stats and recent activity
- Command Palette β Ctrl+K fuzzy search overlay
- Menu Manager β Drag-and-drop admin menu reordering
- White Label β Custom branding and color picker
- Dark Mode β Full dark theme with all components
- PHP 7.4+
- WordPress 6.0+
- Node.js 20+ (for development)
- Download the latest release ZIP
- Upload to
/wp-content/plugins/and activate - Navigate to the Lumora menu item in your admin sidebar
- Press Ctrl+K (Cmd+K) to open the command palette from anywhere
# Clone the repository
git clone https://github.com/Hordekiller/LUMORA.git
cd LUMORA
# Install dependencies
composer install
npm install
# Development (with hot reload)
npm run start
# Production build
npm run build
# Lint checks
npm run lint:js # ESLint
npm run lint:css # Stylelint
npm run lint:php # PHPCS (WordPress standard)
# Tests
vendor/bin/phpunitlumora/
βββ includes/ # PHP backend
β βββ Admin/ # Admin page, assets
β βββ API/ # REST endpoints (8 controllers)
β βββ Core/ # Settings, Security, i18n, Cache
β βββ Modules/ # Widgets, Dashboard, Menu, CommandPalette, WhiteLabel
βββ src/ # JavaScript frontend
β βββ components/ # React components (ui, layout, dashboard, widgets, menu, settings, command-palette)
β βββ hooks/ # Custom hooks (useKeyboard, useMediaQuery, useSettings, useStats)
β βββ store/ # WordPress data stores (settings, widgets)
β βββ styles/ # SCSS (11 partials with design tokens)
β βββ utils/ # API client, classnames, fuzzy search
βββ tests/ # PHPUnit tests
βββ languages/ # Translation files (POT, PO, MO)
βββ build/ # Webpack output (admin.js, palette.js, page chunks)
- Custom Autoloader: Registered before Composer PSR-4. Converts WordPress
class-*.phpnaming to PSR-4 class names automatically. - Code Splitting:
React.lazy()+ dynamic imports split the 50KB bundle into 26KB initial + 4 page-specific chunks. - Dual Entry Points:
build/admin.jsloads only on Lumora admin page;build/palette.js(11KB) loads on ALL admin pages for global Ctrl+K. - API Layer: In-memory cache with 30-second TTL, automatic invalidation on writes, 300ms debounced search.
See CHANGELOG.md for the full version history.
GPL-2.0-or-later β see LICENSE for details.