=== SiteHandoff === Contributors: wpboutiquebyideama, wpboutique Tags: client handoff, feedback, coming soon, maintenance, preview Requires at least: 6.0 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 1.2.1 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Client handoff tool for agencies: manage reviewer access, collect per-page feedback, and run a countdown page while the site is in progress. == Description == **SiteHandoff** helps WordPress agencies and freelancers deliver sites to clients in a structured way. While the site is in progress, visitors see a courtesy page with an optional live countdown. Clients and collaborators get individual preview links and can leave per-page feedback directly on the site. = Key Features = * **Reviewer management** — Add clients or collaborators with individual passwords and share their preview link via copy, email, or WhatsApp. * **Per-page feedback widget** — Reviewers and admins can leave comments on any page; feedback is grouped by URL in the admin panel. * **Dashboard overview** — See site status, reviewer count, and open feedback at a glance. * **Configurable countdown** — Set a launch date and time; the plugin displays a real-time countdown timer. * **Auto-disable** — The plugin automatically deactivates itself when the countdown reaches zero. * **Two content modes** — Use the WordPress classic editor or insert fully custom HTML. * **Countdown shortcode** — Place `[sitehandoff_countdown]` anywhere to embed the timer. * **Customizable colors** — Choose background and accent colors with a built-in color picker. * **Gutenberg block** — "Countdown Timer" block with date picker and redirect on completion. * **Translation ready** — Includes a `.pot` file with the `sitehandoff` text domain. Italian translation included. = How It Works = When the plugin is active, all unauthenticated visitors see the courtesy page. Administrators and anyone with a valid reviewer link can view the site normally and leave feedback using the floating widget. == Installation == 1. Upload the `sitehandoff` folder to the `/wp-content/plugins/` directory, or install the plugin directly from the "Plugins > Add New" screen in WordPress. 2. Activate the plugin from the "Plugins" screen. 3. In the admin sidebar you will find the "SiteHandoff" menu item. Click it to access the dashboard. 4. Add reviewers, configure the launch date, content, and colors from the respective pages. == Frequently Asked Questions == = Can I use custom HTML for the page? = Yes. In the settings, select the "Custom HTML" tab and enter the markup you prefer. You can include the `[sitehandoff_countdown]` shortcode in your code. = Does the plugin block administrators too? = No. Users with the `manage_options` capability (typically Administrators) see the site normally and are never redirected to the courtesy page. = How does a reviewer get access? = Add a reviewer from the Revisori page, then share their preview link. The link includes a unique password. After first use, reviewers can browse freely for 48 hours. = Does the plugin interfere with REST API or AJAX? = No. REST API, AJAX, and WP-Cron requests are automatically excluded from the block. = What happens when the countdown expires? = If you enabled the "Auto-disable" option, the plugin deactivates itself automatically when the date is reached. Otherwise, the courtesy page stays active until you manually disable it. == Screenshots == 1. Dashboard — Overview of site status, reviewer count, and open feedback. 2. Reviewers — Add reviewers and share preview links via email or WhatsApp. 3. Feedback — Per-page feedback grouped by URL with resolve/reopen actions. 4. Settings — Countdown configuration, content editor, and color picker. 5. Frontend — Courtesy page with active countdown and custom content. == Changelog == = 1.2.1 = * Fixed: added plugin owner username to Contributors in readme.txt. * Fixed: converted inline script in settings page to wp_add_inline_script(). = 1.2.0 = * Fixed: removed `custom_css` field to prevent arbitrary CSS injection. * Fixed: removed `unfiltered_html` capability bypass; content is now always sanitized with `wp_kses_post()`. * Fixed: escaped output in `fullscreen-countdown.php` using `wp_kses_post()`. * Fixed: renamed main class to `SiteHandoff_Plugin`; all hooks, options, constants, and handles now use the `sitehandoff_` prefix. * Fixed: updated Gutenberg block `apiVersion` from `2` to `3`. = 1.1.0 = * Plugin renamed to SiteHandoff. * Added reviewer management with individual access keys. * Added per-page feedback widget visible to reviewers and admins. * Added Dashboard overview page. * Added email and WhatsApp sharing for reviewer preview links. * Admin UI restructured into Dashboard, Revisori, Feedback, Impostazioni subpages. = 1.0.0 = * Initial release. * Courtesy page with real-time countdown. * Two content modes: classic editor and custom HTML. * `[opening_soon_countdown]` shortcode with configurable attributes. * Customizable colors (background and accent) with color picker. * Additional CSS from settings. * Auto-disable on countdown expiration. * Password-protected preview link with 48-hour cookie. * "Countdown Timer" Gutenberg block. * Italian translation included. == Upgrade Notice == = 1.2.1 = WordPress.org review compliance fixes. = 1.2.0 = Security and compatibility fixes required for WordPress.org guidelines compliance. = 1.1.0 = Major update: adds reviewer management, per-page feedback widget, and admin dashboard. Reactivate the plugin after upgrading to create the new database tables.