=== Simple LaunchPad === Contributors: rafaelminuesa Tags: dashboard, admin, quick-access, buttons, customization Requires at least: 5.0 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 3.1.5 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html WCAG 2.1 AA accessible admin dashboard with quick-access buttons to all WordPress areas—perfect for screen reader users. == Description == **Simple LaunchPad** appears as the first menu item in your WordPress admin, providing instant access to 20 carefully organized buttons across four categories: Content Management, Appearance, Administration, and WooCommerce. = Why This Plugin Exists = If you manage multiple WordPress installations with different plugins (like I do), you know the frustration: plugin developers arbitrarily decide where their menu entries appear, constantly pushing core WordPress menu items like Themes, Plugins, and Settings up and down the sidebar. One site has "Plugins" at position 5, another at position 12, and yet another at position 8. You're forced to scroll endlessly, hunting for the same common entries you use every day. **I got tired of complaining about it, so I did something about it.** Simple LaunchPad puts all your most-used admin pages in ONE predictable location at the top of your admin menu. No more scrolling. No more hunting. Just click and go. This is my contribution to the WordPress community—a solution to a problem we've all experienced but rarely talk about. Perfect for: * **Site administrators** who want faster navigation * **Agencies** managing multiple client sites * **Developers** who need quick access to tools * **Content teams** focusing on specific admin areas * **Users with visual disabilities** who rely on screen readers and predictable navigation = Accessibility Features = Simple LaunchPad is fully **WCAG 2.1 AA compliant** and specifically designed to help users with visual disabilities navigate WordPress more efficiently. **Why This Matters for Accessibility:** When you manage multiple WordPress sites with different plugins, the admin menu becomes unpredictable. One site has "Posts" at position 3, another at position 7. Plugin developers arbitrarily inject their menu items anywhere, constantly shifting core WordPress items up and down. For sighted users, this is frustrating. **For screen reader users, this is a nightmare.** Every time a screen reader user logs into a different site, they must: - Navigate through the entire menu structure to find familiar items - Re-learn where "Posts", "Pages", "Plugins", and "Settings" are located - Tab through dozens of unfamiliar plugin menu items just to reach core WordPress functions **Simple LaunchPad solves this by providing ONE predictable location** at the top of the admin menu where all essential WordPress areas are always accessible. **Accessibility Compliance Features:** ✓ **Keyboard Navigation:** Full keyboard support with visible focus states ✓ **Global Keyboard Shortcut:** Press Alt+Shift+L (Windows/Linux) or Control+Option+L (Mac) to instantly open LaunchPad from anywhere in WordPress admin ✓ **Screen Reader Support:** Proper ARIA labels and semantic HTML structure ✓ **Skip Links:** "Skip to admin shortcuts" link for faster navigation ✓ **Descriptive Labels:** Each button includes clear, descriptive aria-labels (e.g., "Go to Posts", "Go to Settings") ✓ **Icon Accessibility:** All icons are properly marked as decorative (`aria-hidden="true"`) ✓ **Semantic HTML:** Proper use of navigation landmarks and heading structure ✓ **Large Click Targets:** 64px icons with generous padding meet WCAG touch target guidelines ✓ **Focus Management:** Clear visual focus indicators with high contrast ✓ **Consistent Location:** Always appears as the first menu item for predictable navigation **Real-World Impact:** Instead of tabbing through 20+ menu items that change position on every site, screen reader users can: 1. Log in to WordPress 2. Tab once to "LaunchPad" (always first in the menu) 3. Access any of 15 core WordPress areas with predictable, consistent labels This reduces cognitive load, speeds up navigation, and makes WordPress administration accessible to everyone—not just sighted users who can visually scan the menu. = Key Features = **🎯 Quick Access Buttons** * 20 pre-configured buttons organized in 4 logical rows (5 buttons each) - **Row 1:** Posts, Categories, Tags, Pages, Media - **Row 2:** Themes, Widgets, Menus, Customizer, Plugins - **Row 3:** Users, Settings, Tools, Updates, Site Health - **Row 4:** WooCommerce, WC Settings, Orders, Products, Product Categories (when WooCommerce is active) * One-click access to any WordPress admin page * Visual icons using WordPress Dashicons * Fully customizable button order via drag-and-drop * WooCommerce integration with HPOS support **🎨 Full Customization** * Enable/disable individual buttons * Reorder buttons via intuitive drag-and-drop interface * Customize text colors (normal and hover states) * Customize background colors (normal and hover states) * Responsive design that works on all devices * Dark mode support **👥 Role-Based Visibility** * Control which user roles can see each button * Capability-based security (respects WordPress permissions) * Granular per-button access control * Perfect for multi-user sites with different team roles **⚡ Performance** * Lightweight and fast * Assets only load where needed * Clean, semantic code * No jQuery dependencies (except admin) * Optimized for WordPress standards **♿ Accessibility** * WCAG 2.1 AA compliant * Full keyboard navigation support * Global keyboard shortcut: Alt+Shift+L to open LaunchPad from anywhere * Screen reader optimized with proper ARIA labels * Skip links for faster navigation * Large click targets (64px icons) * Consistent, predictable menu position * Reduces cognitive load for users with disabilities **🔧 Developer Friendly** * Extensible with WordPress filters and hooks * Well-documented code with PHPDoc comments * Clean, object-oriented architecture * Translation-ready (i18n) * Compatible with WordPress Coding Standards = Use Cases = **For Bloggers:** Quickly access Posts, Media, and Comments without navigating through menus. **For E-commerce Sites:** Add custom buttons for WooCommerce pages like Products, Orders, and Coupons. **For Agencies:** Configure different button layouts for different client sites or user roles. **For Developers:** Extend the plugin with custom buttons using the provided filter hooks. **For Users with Visual Disabilities:** Access all core WordPress admin areas from one predictable location with full screen reader support. No more hunting through constantly changing menu structures. = Developer Hooks = **Filters:** `simple_launchpad_default_buttons` - Modify or add default buttons `simple_launchpad_buttons` - Modify buttons before rendering **Example - Add Custom Button:** ` add_filter('simple_launchpad_default_buttons', function($buttons) { $buttons['my_custom'] = array( 'label' => 'Custom Area', 'url' => 'admin.php?page=my-custom-page', 'icon' => 'dashicons-admin-generic', 'capability' => 'manage_options' ); return $buttons; }); ` = Translations = Simple LaunchPad is translation-ready! Help translate it into your language: * Text Domain: simple-launchpad * All strings wrapped with proper i18n functions * POT file included for translators = Privacy = Simple LaunchPad does not: * Collect any user data * Use cookies * Connect to external services * Track analytics All settings are stored locally in your WordPress database. == Installation == = Automatic Installation = 1. Log in to your WordPress admin panel 2. Navigate to Plugins → Add New 3. Search for "Simple LaunchPad" 4. Click "Install Now" and then "Activate" = Manual Installation = 1. Download the plugin zip file 2. Log in to your WordPress admin panel 3. Navigate to Plugins → Add New → Upload Plugin 4. Choose the downloaded zip file and click "Install Now" 5. Activate the plugin = Configuration = 1. After activation, go to **Settings → Simple LaunchPad** 2. Choose which buttons to enable/disable 3. Drag and drop to reorder buttons 4. Customize colors in the Appearance tab 5. Configure role visibility in the Role Visibility tab 6. Click "Save Settings" 7. Visit your WordPress Dashboard to see the new launchpad! == Frequently Asked Questions == = Is there a keyboard shortcut to open LaunchPad? = Yes! Press **Alt+Shift+L** (Windows/Linux) or **Control+Option+L** (Mac) from anywhere in the WordPress admin to instantly jump to the LaunchPad page. This follows WordPress's standard keyboard shortcut conventions and works globally across all admin pages. = Is this plugin accessible to users with disabilities? = Yes! Simple LaunchPad is fully WCAG 2.1 AA compliant with: * Full keyboard navigation support * Global keyboard shortcut (Alt+Shift+L) for instant access * Proper ARIA labels for screen readers * Skip links for faster navigation * Large click targets (64px icons) * Consistent menu position for predictable navigation The plugin specifically helps screen reader users by providing ONE predictable location for all essential WordPress admin areas, eliminating the need to navigate through constantly changing menu structures across different sites. = Does this plugin work with the latest WordPress version? = Yes! Simple LaunchPad is tested with the latest WordPress version and follows WordPress coding standards. = Can I add my own custom buttons? = Yes! Use the `simple_launchpad_default_buttons` filter hook to add custom buttons. See the "Developer Hooks" section in the description for examples. = Can I change the button order? = Absolutely! Go to Settings → Simple LaunchPad → Buttons tab, then drag and drop buttons to reorder them. = Does it work with mobile devices? = Yes! Simple LaunchPad is fully responsive and works beautifully on tablets and mobile phones. = Can I control which users see which buttons? = Yes! Use the Role Visibility tab to configure which WordPress roles can see each button. The plugin also respects WordPress capabilities, so users will only see buttons for pages they have permission to access. = Will this conflict with other plugins? = Simple LaunchPad is designed to be compatible with other plugins. It uses WordPress best practices and only modifies the dashboard area. If you experience any conflicts, please report them in the support forum. = Is it translation-ready? = Yes! All text is wrapped with WordPress i18n functions and ready for translation. = Does it work with multisite? = Yes! Simple LaunchPad works on both single-site and multisite WordPress installations. = How do I uninstall the plugin? = Simply deactivate and delete the plugin through the WordPress admin. All settings will be automatically removed from the database. == Screenshots == 1. Dashboard view showing the quick-access button grid 2. Settings page - Buttons tab with drag-and-drop reordering 3. Settings page - Appearance tab with color customization 4. Settings page - Role Visibility tab for access control 5. Mobile responsive view of the dashboard buttons 6. Dark mode support == Changelog == = 3.1.5 - 2026-01-09 = * Fixed: Removed outdated FAQ entries about dashboard replacement (plugin no longer replaces the dashboard) = 3.1.4 - 2025-11-08 = * Fixed: Renamed all classes from Dashboard_LaunchPad_* to Simple_LaunchPad_* for proper plugin prefix * Fixed: WordPress.org requirement - all global classes must use plugin prefix * Changed: Dashboard_LaunchPad_Settings → Simple_LaunchPad_Settings * Changed: Dashboard_LaunchPad_Dashboard → Simple_LaunchPad_Dashboard * Changed: Dashboard_LaunchPad_Custom_Buttons → Simple_LaunchPad_Custom_Buttons = 3.1.3 - 2025-11-08 = * Fixed: Replaced .gitkeep with index.php in languages directory (hidden files not permitted) * Fixed: Added proper sanitization to $_GET['settings-updated'] parameter * Note: Text domain 'simple-launchpad' is correct - Plugin Check warnings about 'Simple-Launchpad-main' are due to local folder naming = 3.1.2 - 2025-11-08 = * Fixed: Added phpcs ignore comments for WordPress.org compliance * Fixed: Escaped output for disabled attribute in settings * Fixed: Added version parameter to wp_register_style() for proper cache busting * Fixed: Prefixed global variable in uninstall.php ($simple_launchpad_blog_ids) * Fixed: Created /languages directory for translation files * Improved: WordPress.org Plugin Check compliance - all critical errors resolved = 3.1.1 - 2025-11-08 = * Fixed: Version bump for minor updates = 3.1.0 - 2025-11-08 = * Added: Dark Mode toggle setting in Appearance tab * Added: Three display options - Light Mode (default), Dark Mode, Auto (Follow System Preference) * Changed: Light mode is now the default - users must opt-in to dark mode * Changed: Dark mode no longer automatically follows system preference unless "Auto" is selected * Improved: Manual override of dark mode with .force-light and .force-dark CSS classes * Improved: Better control over button appearance regardless of system settings * Note: Existing users will default to Light Mode - visit Settings → Appearance to enable Dark Mode = 3.0.2 - 2025-11-08 = * Added: Product Categories button - 5th button in WooCommerce row * Added: Direct access to WooCommerce product categories taxonomy * Improved: Row 4 now complete with 5 buttons (matching other rows) * Changed: Total available buttons increased from 19 to 20 * Note: Product Categories button disabled by default like other WooCommerce buttons = 3.0.1 - 2025-11-08 = * Changed: WooCommerce buttons are now disabled by default - users must enable them manually in Settings * Added: Visual detection when WooCommerce is not installed - buttons appear greyed out in settings * Added: "(Requires WooCommerce)" badge on WooCommerce buttons when plugin is not active * Added: Informational notice in settings explaining WooCommerce button availability * Improved: Better UX with greyed-out styling (50% opacity) for unavailable buttons * Improved: Disabled checkbox state prevents enabling when WooCommerce is not installed * Improved: Dark mode support for disabled button states * Fixed: First-time user experience improved for non-WooCommerce sites = 3.0.0 - 2025-11-08 = * Added: WooCommerce integration with 4 new buttons in dedicated Row 4 * Added: WooCommerce button - Quick access to WooCommerce dashboard * Added: WC Settings button - Direct link to WooCommerce settings * Added: Orders button - Manage WooCommerce orders (HPOS compatible) * Added: Products button - Manage WooCommerce products * Improved: Total available buttons increased from 15 to 19 * Improved: Button organization now spans 4 rows (when WooCommerce is active) * Improved: Proper capability checks for all WooCommerce features * Note: WooCommerce buttons only appear when WooCommerce is installed and active = 2.0.1 - 2025-11-08 = * Fixed: Converted all inline `