=== Maintenance Mode ===
Contributors: simpliplugin
Tags: maintenance, maintenance mode, downtime, 503, status code
Requires at least: 6.8
Tested up to: 7.0
Requires PHP: 8.2
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Restrict public frontend access during maintenance windows with configurable HTTP response status codes.

== Description ==

Maintenance Mode lets site administrators temporarily restrict public frontend access while performing updates or maintenance.

Administrators can:

* Enable or disable maintenance mode from the dashboard
* Choose the HTTP response status code returned to visitors: 503 Service Unavailable, 403 Forbidden, or 200 OK
* Customize the maintenance page brand label, logo, title, and message

Users with the `manage_options` capability (typically administrators) can continue to browse the site normally while maintenance mode is active.

== Installation ==

1. Upload the `spp-maintenance-mode` folder to the `/wp-content/plugins/` directory.
2. Activate the plugin through the **Plugins** menu in WordPress.
3. Go to **Settings → Maintenance Mode** to configure maintenance mode.

== Frequently Asked Questions ==

= Who can still access the site during maintenance mode? =

Any logged-in user with the `manage_options` capability can access the public frontend. All other visitors see the maintenance message.

= Which HTTP status codes are supported? =

You can choose 503 Service Unavailable, 403 Forbidden, or 200 OK from the settings dropdown.

= Does maintenance mode block the WordPress admin area? =

No. The admin dashboard remains accessible to users who can log in. The login page is also left available so administrators can sign in.

= How do I verify the HTTP status code on localhost? =

Open the site in a private browser window while logged out, then check the response status in your browser developer tools (Network tab).

== Screenshots ==

1. Maintenance mode settings page with status code dropdown.

== Changelog ==

= 1.0.8 =
* Plugin Check fixes: enqueued maintenance stylesheet, escaped fallback output, updated tested WordPress version.

= 1.0.7 =
* Plugin Check fixes: sanitized HTTP status output and removed discouraged load_plugin_textdomain() call.

= 1.0.6 =
* Updated maintenance illustration to flat geometric plug-and-socket design.

= 1.0.5 =
* Redesigned maintenance page layout to match a modern maintenance landing page.
* Added contact phone, email, and social profile settings for the page footer.
* Added SVG maintenance illustration and refined responsive styling.

= 1.0.4 =
* Replaced WordPress site title with a customizable brand label (defaults to simpliplugin).
* Refined maintenance page layout, typography, and visual styling.

= 1.0.3 =
* Added a Page Appearance settings section with logo upload to replace the default maintenance icon.

= 1.0.2 =
* Added a styled frontend maintenance page for visitors when maintenance mode is active.

= 1.0.1 =
* Shortened plugin name to Maintenance Mode.
* Fixed HTTP response status delivery on localhost and production servers.
* Improved header handling for WAMP, Apache, nginx, and cached environments.

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.6 =
Updated plug-and-socket maintenance illustration.

= 1.0.5 =
New maintenance page design with contact and social footer options.

= 1.0.4 =
Refined maintenance page design with customizable brand label.

= 1.0.3 =
Adds logo upload customization for the maintenance page.

= 1.0.2 =
Adds a designed frontend maintenance page for visitors.

= 1.0.1 =
Fixes HTTP response status codes not applying correctly on some servers.

= 1.0.0 =
Initial release.
