Elmspur Cascade – Dropdown Redirect

Plugin Banner

Elmspur Cascade – Dropdown Redirect

by Elmspur

Download
Description

Elmspur Cascade adds a cascading dropdown redirect block to the WordPress block editor. Visitors pick from one or more dependent dropdowns — for example Category Topic Page — and are redirected to the URL attached to their final choice. No form plugin or shortcode is required.

Each dropdown filters the next: choosing a value in one level determines the options available in the next. When the visitor reaches an item that has a URL, they are sent to it — either immediately, or after clicking a button you can label yourself.

Features

  • Native block — works in posts, pages, the Site Editor, templates, template parts, and block widget areas. Compatible with FSE/block themes.
  • Visual tree builder — point-and-click interface to add, edit, nest, and reorder dropdown items without touching JSON.
  • Up to 5 levels of dependent dropdowns. Branches don’t have to reach the maximum; a 2-level branch redirects from level 2 and remaining dropdowns stay disabled.
  • Redirect immediately on final selection, or show a button the visitor clicks to go.
  • Open in a new tab option.
  • Custom placeholder text for each level.
  • Navigation block variant — a compact version that lives inside the core Navigation block, inline with your other menu links.
  • Wide and full alignment support; inherits your theme’s button styles.
  • No form builder required. No shortcodes. No build step.

Use cases

  • Support sites: Product Issue Type Help article
  • Multi-location businesses: Country City Location page
  • Course sites: Subject Course Lesson

Companion add-on

A separate add-on, distributed from elmspur.com (not from WordPress.org), adds saved/reusable dropdown trees: define a tree once, link it to as many blocks as you like, and edits propagate site-wide. It is optional — this plugin is fully functional on its own.

The JSON format

An array of items. Each item has a “label” and either “children” (an array of more items) or a “url”.

[
{
“label”: “Category A”,
“children”: [
{
“label”: “Subcategory A1”,
“children”: [
{ “label”: “Page one”, “url”: “https://example.com/a/a1/one” },
{ “label”: “Page two”, “url”: “https://example.com/a/a1/two” }
]
}
]
}
]

Settings (block sidebar)

  • Menu data — the JSON hierarchy (also editable via the visual tree builder).
  • Redirect immediately on final selection — skip the Go button.
  • Open in a new tab.
  • Button label.
  • Placeholder text for each level.
  1. In wp-admin go to Plugins Add New Plugin and search for Elmspur Cascade — or download the zip and use Upload Plugin.
  2. Activate the plugin.
  3. Edit any post, page, or template and insert the Cascading Redirect Dropdowns block.
  4. Click Open menu builder in the block sidebar to build your dropdown tree, adding a URL to each item that should be a destination.
  1. The visual menu tree builder in the block editor — add, edit, nest, and reorder dropdown items without touching JSON.

    The visual menu tree builder in the block editor — add, edit, nest, and reorder dropdown items without touching JSON.

  2. The cascading dropdowns on the front end — each selection filters the next level, and the final choice redirects the visitor.

    The cascading dropdowns on the front end — each selection filters the next level, and the final choice redirects the visitor.

Does this require a form plugin?

No. Elmspur Cascade is a standalone native block with no dependencies. Install and activate it, and the block is immediately available in the editor.

How many dropdown levels can I have?

Up to 5 cascade levels. Each branch only renders as many dropdowns as it actually uses — a 2-level branch redirects from level 2 and leaves remaining dropdowns disabled.

Does it work with my theme?

Yes. It’s a native WordPress block that inherits your theme’s styles. The Go button uses the core button element, so it picks up your theme’s button colors, typography, and border radius automatically.

Does it slow my site down?

No. The front-end script is small and dependency-free — no jQuery, no external requests. It uses viewScript in block.json, so it only loads on pages that actually contain the block.

Can the final selection open in a new tab?

Yes. Toggle Open in a new tab in the block sidebar.

1.4.1

  • Fix: on Safari and iOS, “Redirect immediately” could fail to navigate because WebKit does not treat a dropdown change as a user gesture (and blocks new-tab redirects as popups). These browsers now automatically show the Go button as a click-to-go fallback; all other browsers are unchanged.
  • Fix: stacked dropdowns no longer render as oversized boxes on narrow screens.

1.4.0

  • Cascade depth is no longer gated behind a license — menus can use up to 5 dependent levels for everyone, both in the visual builder and on the front end.
  • Renamed to Elmspur Cascade – Dropdown Redirect.
  • Readme: clarified feature descriptions.

1.3.1

  • Security: URL values in dropdown trees are now sanitized server-side with esc_url_raw() before output; javascript: URIs and other non-safe schemes are also blocked client-side in view.js as defence-in-depth.
  • Code: Removed an orphaned/unclosed comment block that was merging into the crd_tree_depth docblock.
  • Block: Default example URLs in block.json replaced with example.com placeholders.
  • Readme: Added FAQ section; installation instructions updated.

1.3.0

  • Levels are now dynamic: the block renders one dropdown per level your menu actually uses (a 2-level menu shows 2 dropdowns).
  • New crd_menu_data extensibility filter and a savedMenuId attribute.
  • No changes required to existing blocks.

1.2.0

  • New: “Cascading Dropdowns – Menu Item” companion block. Open the Navigation block in the Site Editor, click +, and insert it inline between your menu links. Compact styling sized to nav bars; auto-redirect on by default; stacks vertically inside the mobile menu overlay.
  • Both blocks share the same tree builder, settings, and data format.

1.1.0

  • New: point-and-click menu tree builder. Select the block and click “Open menu builder” (sidebar) or “Edit menu tree” (canvas). Add, edit, reorder, nest, and delete items without touching JSON.
  • The JSON editor moved to a collapsed “Advanced (JSON)” panel. Data format is unchanged — blocks created with 1.0.0 work as-is.

1.0.0

  • Initial release.
Back to top