=== Shortcode Redirect === Contributors: cartpauj Tags: redirect, block, gutenberg, url, shortcode Requires at least: 6.0 Tested up to: 6.9 Stable tag: 1.1.1 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Redirect any post or page — with a native block or a classic shortcode. Optional delay. Optional "redirecting" message. Zero configuration. == Description == Shortcode Redirect sends visitors from any post or page to another URL. No settings screens, no database tables — just drop it in where you need it. There are two ways to use it, and both produce the exact same front-end output. **1. The Redirect block (new in 1.1.0)** In the block editor, add the **Redirect** block from the *Widgets* category. The block sidebar exposes three simple fields: * **Destination URL** — where the visitor should end up * **Seconds to wait** — how long to pause before redirecting (`0` = immediate) * **Show "redirecting" message** — toggle the visible "Please wait..." line on or off The editor shows a live summary of what the block will do, e.g. *"Redirects to https://example.com — after 3 seconds · message shown"*. No shortcode syntax to memorize. **2. The classic shortcode** Paste into any post or page: `[redirect url='https://example.com' sec='3']` Shortcode attributes: * `url` — destination URL *(required)* * `sec` — seconds to wait before redirecting *(optional, default `0`)* * `show_message` — set to `false`, `0`, `no`, or `off` to hide the "redirecting" message *(optional, default `true`, new in 1.1.0)* Example with all three: `[redirect url='https://example.com' sec='5' show_message='false']` **Same output either way** Block or shortcode, the front-end renders the same single `` tag (plus the optional one-line message). No JavaScript. No server-side redirect. No third-party tracking. Existing `[redirect]` shortcodes from earlier versions continue to work unchanged. = Features = * **Block editor support** — native "Redirect" block *(new in 1.1.0)* * **Classic shortcode** — `[redirect]` works exactly like it always has * **Optional delay** — choose how many seconds to wait before redirecting * **Silent mode** — hide the "redirecting..." message for a clean, blank-page redirect *(new in 1.1.0)* * **Lightweight** — a single PHP file plus a small block; no settings, no tables, no dependencies * **Backwards compatible** — upgrading from 1.0.x is drop-in == Installation == 1. Install from the WordPress Plugin Directory, or upload `shortcode-redirect.zip` to `/wp-content/plugins/`. 2. Activate the plugin through the **Plugins** menu. 3. Either: * Add the **Redirect** block to any post/page (block inserter → *Widgets* → *Redirect*), **or** * Paste `[redirect url='https://example.com' sec='3']` into any post/page. No configuration screen to visit — the plugin activates and is immediately usable. == Frequently Asked Questions == = How do I hide the "Please wait while you are redirected..." message? = **In the block:** toggle off *Show "redirecting" message* in the block sidebar. **In the shortcode:** add `show_message='false'` (also accepts `0`, `no`, or `off`): `[redirect url='https://example.com' sec='3' show_message='false']` = Do the block and the shortcode behave the same? = Yes. Both render the same `` tag on the front-end. Same delay handling, same message toggle, same output. = Can I mix blocks and shortcodes on the same site? = Absolutely. Use whichever fits the page you're editing. Pages built with the old `[redirect]` shortcode keep working when you upgrade — no migration required. = Does this require JavaScript in the visitor's browser? = No. The redirect is a plain HTML `` tag. It works with JavaScript disabled, in text browsers, and inside reader modes. = Can I use this in a Reusable Block / Synced Pattern? = Yes — the Redirect block supports reuse, so you can save a configured redirect once and drop it anywhere. == Upgrade Notice == = 1.1.1 = Adds a native block editor block alongside the existing shortcode, plus a show/hide toggle for the "redirecting" message. == Changelog == = 1.1.1 = * **New:** Native block editor "Redirect" block (shares the same render logic as the shortcode) * **New:** Option to show or hide the "Please wait while you are redirected..." message — via the `show_message` shortcode attribute or the *Show "redirecting" message* block toggle * Hardened output escaping, added proper license headers, and added direct-access protection to satisfy Plugin Check = 1.0.4 = * Ensure compat with WP 6.9 = 1.0.03 = * Fix XSS vulnerability (patchstack report efd671f0-81c0-4ca8-bbdb-11e6b63d3fe6) = 1.0.02 = * Fixed a low risk security hole = 1.0.01 = * Added output buffer to make text show up in the right place * Added license to main file * Fixed URL bug = 1.0.00 = * Initial release == Screenshots == 1. The **Redirect** block in the block editor — destination URL, delay, and "show message" toggle all live in the block sidebar, with a live summary inside the canvas. 2. Using the classic `[redirect]` shortcode via the core Shortcode block — fully backwards compatible. 3. The default "Please wait while you are redirected..." message that visitors see (with a manual fallback link) while the page waits to redirect.