=== Restrict Website Access ===
Contributors: zohaibalimemonx
Tags: password protected, page restrict, access restrict, page lock, limit access
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.4
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Password-protect your entire WordPress site with a simple access screen for private, staging, and under-development websites.

== Description ==

Restrict Website Access lets you protect your entire WordPress site with a password-based access screen. It is useful when a site is private, under development, in staging, or temporarily not intended for public access.

Key features:

* Password protection for the entire public-facing website.
* Simple setup with no coding required.
* Useful for private, staging, and under-development websites.
* Editable access-screen content and layout options.
* Lightweight interface with straightforward settings.

Logged-in WordPress users can continue working in the dashboard while public visitors are shown the password screen when protection is enabled.

== Installation ==

= From the WordPress Dashboard =

1. Go to **Plugins > Add New**.
2. Search for **Restrict Website Access**.
3. Click **Install Now**.
4. Activate the plugin.
5. Go to **Settings > Restrict Website Access** and configure access protection.

= Manual Installation =

1. Upload the `restrict-website-access` folder to `/wp-content/plugins/`.
2. Activate **Restrict Website Access** from the Plugins screen.
3. Go to **Settings > Restrict Website Access** and configure the plugin.

== Source Code ==

The plugin's custom JavaScript and CSS source files are included in the distributed plugin under `includes/admin/` and `includes/public/`.

The plugin also bundles the third-party Notyf library:

* Project: Notyf
* Source: https://github.com/caroso1222/notyf
* License: MIT
* Bundled location: `includes/admin/library/notyf/`

== Screenshots ==

1. Plugin settings screen showing enable option, heading, rich Description editor, password, logo upload, and layout selection.

== Changelog ==

= 1.0.4 =
* Hardened input handling, output escaping, redirects, and WordPress coding-standard compliance.
* No intended changes to plugin features or access-screen behavior.

= 1.0.3 =
* Changed only the Description field to a rich-text editor.
* Added strict HTML sanitization for supported Description formatting and links.

= 1.0.2 =
* Added editable access-screen elements.
* Added a layout option.
* Confirmed compatibility with WordPress 7.1.

= 1.0.1 =
* Minor user-interface improvements.

= 1.0.0 =
* Initial release on WordPress.org.
