=== Responsive Mobile Select Menu ===
Contributors: Jyria
Donate link: https://www.saskialund.de/donate/
Tags: responsive, menu, select, drop down, accessible mobile menu
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
Stable tag: 2.0.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Your WordPress menu automatically becomes a touch-friendly dropdown on mobile devices. 

== Description ==

**Key Benefits:**
✅ Better mobile navigation
✅ No theme modifications needed
✅ Works with any WordPress menu
✅ Fully accessible
✅ Customizable breakpoint

**How it works:** The plugin detects when someone visits your site on a mobile device and automatically converts your menu into an easy-to-use dropdown. Desktop visitors see your normal menu unchanged.

**Perfect for:** Anyone who wants to improve their mobile site navigation without technical hassle.

**Mobile Menu Made Simple**

Your WordPress menu automatically becomes a touch-friendly dropdown on mobile devices. 

**Key Benefits:**
✅ Better mobile navigation
✅ No theme modifications needed
✅ Works with any WordPress menu
✅ Fully accessible
✅ Customizable breakpoint

**How it works:** The plugin detects when someone visits your site on a mobile device and automatically converts your menu into an easy-to-use dropdown. Desktop visitors see your normal menu unchanged.

**Perfect for:** Anyone who wants to improve their mobile site navigation without technical hassle.

**Technical note:** This plugin uses WordPress's native menu system and automatically detects screen size to show the appropriate menu format. It's built with modern WordPress standards and includes full accessibility support.

= Features =

* **Modern Architecture**: Built with PHP 8.0+ features and WordPress Coding Standards (WPCS)
* **Full Accessibility**: WCAG 2.1 compliant with ARIA labels, keyboard navigation, and screen reader support
* **Responsive Design**: Mobile-first approach with customizable breakpoints
* **Theme Compatibility**: Works with all modern WordPress themes including block themes
* **Performance Optimized**: Efficient asset loading and minimal overhead
* **Security Focused**: Proper nonce verification, input sanitization, and capability checks
* **Translation Ready**: Full internationalization support
* **Customizable**: Extensive settings panel with real-time preview
* **Developer Friendly**: Clean API, hooks, and filters for customization

= What's New in 2.0.0 =

* **Complete Rewrite**: Modern object-oriented architecture with namespaces
* **WordPress 6.5+ Ready**: Full compatibility with latest WordPress features
* **Accessibility First**: WCAG 2.1 compliance with comprehensive ARIA support
* **Modern Admin Interface**: Clean, responsive settings panel
* **Performance Improvements**: Optimized asset loading and caching
* **Security Enhancements**: Proper sanitization and validation
* **Developer API**: Hooks and filters for customization
* **Block Theme Support**: Works seamlessly with Full Site Editing

== Installation ==

This section describes how to install the plugin and get it working.

1. Upload the plugin zip through your WordPress admin
1. Activate the plugin through the 'Plugins' menu in WordPress
1. Navigate to Appearance > Responsive Menu to configure your new mobile select menu

== Frequently Asked Questions ==

= Do I have to have a "Navigate" item as my first item =

You can change the name of this item in the settings, but it has to exist. Otherwise, you won't be able to navigate to the first item in the menu if you're not using the "Show currently selected item" option.

= It doesn't work =

If your theme creates a menu the standard way with wp_nav_menu(), it should work. If not, make sure you either post a support request in this plugin's WordPress support forum or maybe approach your theme's developer.

= Will this change my desktop menu? =

No! Your desktop menu remains completely unchanged. The plugin only affects mobile devices and small screens.

= Do I need to modify my theme? =

No theme modifications are required. The plugin works with any WordPress theme that uses standard WordPress menus.

= Can I customize when the mobile menu appears? =

Yes! You can set the breakpoint (screen width) when the mobile menu should appear in the settings panel.

= Can I use specific menu IDs instead of theme locations? =

Yes! You can now select specific menus by their ID in the plugin settings. This is useful when you use `wp_nav_menu(array('menu' => '73'))` in your templates instead of theme locations.

= What are the default settings? =

By default, no menu activation options are selected. You need to manually choose either "All menu locations", "All menu IDs", or select specific menu locations/IDs for the plugin to work.

= Is this plugin accessible? =

Yes! Version 2.0.0 includes full WCAG 2.1 compliance with proper ARIA labels, keyboard navigation, screen reader support, and high contrast mode compatibility.

= Does it work with block themes? =

Yes! The plugin is fully compatible with WordPress block themes and Full Site Editing features.

= Can I customize the breakpoint? =

Yes! You can set any breakpoint between 320px and 1920px in the settings panel.

= Is it compatible with my theme? =

The plugin works with any theme that uses WordPress's standard wp_nav_menu() function. It includes specific compatibility fixes for popular themes like Genesis, Twenty Twenty-One, and others.

== Screenshots ==

1. Responsive mobile select menu on the iPhone/iPod Touch
2. Modern admin settings panel with responsive design
3. Accessibility features demonstration with ARIA support
4. Block theme compatibility showcase

== Changelog ==

= 2.0.4 =
* **Dropdown behavior improvements** - Fixed confusing dropdown state persistence across page navigation
* **User experience enhancements** - Dropdown now correctly shows placeholder text on new pages
* **Intelligent state management** - Only saves and restores dropdown selection when actually on the target page
* **Automatic cleanup** - Removes stale localStorage entries when navigating away from saved pages
* **Intuitive navigation** - Dropdown always shows the correct state for the current page

= 2.0.3 =
* **Object handling improvements** - Proper handling of WordPress menu objects and WP_Term instances
* **String conversion safety** - Enhanced safe conversion of menu IDs and theme locations
* **Code robustness** - Improved error handling for various WordPress menu argument types
* **User experience** - Fixed dropdown visibility issues and placeholder text display

= 2.0.2 =
* **Theme compatibility improvements** - Enhanced CSS class application for better theme compatibility
* **WordPress Codex compliance** - Improved menu modification using proper WordPress API parameters
* **Bug fixes** - Fixed responsive behavior where both desktop and mobile menus were displayed simultaneously
* **Code quality improvements** - Removed invasive HTML manipulation in favor of WordPress-standard approaches
* **Performance optimizations** - Streamlined menu rendering process

= 2.0.1 =
* **Security improvements** - Fixed $_SERVER variable sanitization in menu walker
* **Text domain consistency** - All translation strings now use 'responsive-mobile-select-menu'
* **Code quality improvements** - Enhanced input validation and sanitization
* **Plugin Check Plugin compliance** - Resolved all security warnings and coding standards issues
* **Repository cleanup** - Added .svnignore to prevent .DS_Store files from being committed
* **Bug fixes** - Fixed double menu display issue where option elements appeared in normal menu
* **Performance improvements** - Optimized menu walker to collect options without outputting them

= 2.0.0 =
* **Complete plugin rewrite** with modern architecture
* **WordPress 6.5+ compatibility** and block theme support
* **Full accessibility implementation** (WCAG 2.1 compliant)
* **Modern admin interface** with responsive design
* **Performance optimizations** and security enhancements
* **Developer-friendly API** with hooks and filters
* **Translation improvements** and internationalization
* **Mobile-first responsive design** with customizable breakpoints
* **Theme compatibility improvements** for modern themes
* **Code quality improvements** following WordPress Coding Standards
* **Menu ID support** - now works with both theme locations and specific menu IDs
* **Improved compatibility** - manual file loading for better server compatibility

= 1.1.4 =
* readme update and versioning
* Compatibility with WordPress 6.6.9

= 1.1.3 =
* readme update and versioning
* Compatibility with WordPress 6.4.x

= 1.1.2 =
* readme update and versioning
* typo correction regarding compatibility with WordPress 6.3.1

= 1.1.1 =
* readme update and versioning
* Compatibility with PHP 8.0.x and 8.1.x

= 1.1.0 =
* readme update and versioning
* Compatibility with WordPress version 5.6.x and upcoming 5.7

= 1.0.5 =
* readme update and versioning
* Feature: added accessibility aria code (thanks @haefele for asking)
* Compatibility with PHP 8.0+

= 1.0.4 =
* readme update and versioning

= 1.0.3 =
* Fix: under certain circumstances settings weren't saving - refactored

= 1.0.2 =
* Fix: under certain circumstances settings weren't saving.

= 1.0 =
* Initial version
* Forked from Responsive Select Menu Plugin 1.7 which is 4 years old and unfortunately abandoned by its developer :(
* Added Translation Readyness
* Added German formal and informal translation files
* Compatibility with PHP 7.3
* Bugfix due to PHP 7.3 debug_log warnings
* Removed Ads and external hotlinked images from ControlPanel

== Upgrade Notice ==

= 2.0.4 =
This is a user experience improvement release that fixes confusing dropdown behavior across page navigation. The update includes intelligent state management, automatic cleanup of stale selections, and ensures the dropdown always shows the correct state for the current page. Recommended for all users.

= 2.0.3 =
This is a critical bug fix release that resolves fatal errors caused by WordPress menu object handling issues. The update includes proper WP_Term object conversion, enhanced error handling, and fixes dropdown visibility problems. Strongly recommended for all users.

= 2.0.2 =
This is a compatibility release that improves theme integration and responsive behavior. The update includes better CSS class application, WordPress Codex compliance, and fixes the issue where both desktop and mobile menus were displayed simultaneously. Recommended for all users.

= 2.0.1 =
This is a maintenance release with important security improvements and bug fixes. The update includes enhanced input sanitization, text domain consistency, and resolves the double menu display issue. Recommended for all users.

= 2.0.0 =
This is a major update with a complete rewrite. Please test thoroughly on a staging site before updating on production. The new version includes significant improvements in accessibility, performance, and WordPress compatibility. Requires WordPress 6.5+ and PHP 8.0+.