New Version 1.0.0 is here with 75 widgets, a theme builder, popups and WooCommerce templates. Read the user guide
Visual builder for WordPress
Drag it, type on it, publish it.
Wonder Editor lets you build pages, headers, footers, popups and WooCommerce stores on a live canvas. Drop widgets from the sidebar, click any text to edit it, and tune every element for desktop, tablet and mobile.
No shortcodes to remember and no preview button to keep pressing. What you see on the canvas is what your visitors get.
Drag and drop
Pull widgets from the sidebar onto a live canvas. Reorder by dragging handles or move items in the Navigator tree.
Inline editing
Click a heading, paragraph or button and type. A formatting toolbar appears for bold, italic, links and more.
Responsive by default
Switch between desktop, tablet and mobile. Any responsive control can hold a different value for each device.
Design system
Global colours and fonts, global widgets you edit once, dynamic tags for post and WooCommerce data, and motion effects.
Role control
Give each role full access, content only or no access. Content-only editors change text, images and links but never the layout.
Fast and safe
Pages load only the CSS and JavaScript they use. Input is sanitised and every request checks nonces and capabilities.
Also included
Undo, redo and action history
WordPress revisions with restore
Copy, paste and paste style
Light and dark editor themes
Template library of blocks and pages
Sticky elements and entrance animations
Per-element custom CSS and attributes
Form submissions exported as CSV
ACF, Pods and Toolset fields
Builders
One editor for every part of your site
The same canvas you use for pages also builds your header, footer, archives, popups, forms and shop.
Theme Builder
Replace any part of your theme
Design headers, footers, single posts, archives, search results and 404 pages, then choose exactly where each one shows.
Display conditions for the entire site, post types, taxonomies, single posts, authors and the front page
Exclusions always win over inclusions, so exceptions are easy
Works with both classic and block themes
Display conditions Header: Main
IncludeEntire site
ExcludePages › Checkout
ExcludePosts in category › Landing
HeaderFooterSingleArchiveSearch results404
Popup Builder
Popups that show up at the right moment
Choose a modal, slide-in, top or bottom bar, or full-screen layout, then decide what opens it and who sees it.
Triggers: page load, scroll depth, click, exit intent and inactivity
Rules for logged in or out, device, referrer, page views, sessions and show limits
Any link pointing to #we-popup-ID opens that popup
Popup settings Newsletter slide-in
LayoutSlide-in, bottom right
TriggerScroll depth reaches 50%
Logged outDesktopMobileTabletShow 2 times
Forms
Multi-step forms with logic built in
Collect leads, applications and orders without another plugin. Fields can show or hide based on earlier answers.
File uploads, validation and spam protection with honeypot, time trap and rate limit
Send to email, a webhook, Mailchimp, HubSpot, ActiveCampaign, ConvertKit, Zapier, Slack or Discord
Every submission is saved and can be exported as CSV
Request a quote Step 2 of 3
Company size11 to 50 people
BudgetShown because size is above 10
Save submissionEmailHubSpotRedirect
WooCommerce Builder
Design the whole shop, checkout included
Build single product, product archive, cart, checkout and My Account templates with product widgets you drag in like any other.
Title, price, add to cart, gallery, meta, tabs, rating and stock widgets
Products grid, related products and a menu cart for your header
WooCommerce fields available as dynamic tags anywhere
Single product Template
Studio Lamp★★★★☆$89.00Add to cart
DescriptionAdditional informationReviews (12)
Widgets
75 widgets, grouped the way you look for them
Search the sidebar by name or keyword. Theme and WooCommerce widgets appear when you edit a template that needs them.
Basic Layout and content
Heading
Text Editor
Image
Button
Icon
Icon Box
Image Box
Icon List
Image Gallery
Video
Tabs
Accordion
Alert
Counter
Progress Bar
Star Rating
Testimonial
Social Icons
Divider
Spacer
Google Maps
HTML
Shortcode
Advanced Marketing and engagement
Posts
Animated Headline
Call to Action
Flip Box
Pricing Table
Price List
Countdown
Testimonial Carousel
Reviews
Lottie
Table of Contents
Nav Menu
Search Form
Share Buttons
Facebook Embed
X (Twitter) Embed
Template
Global widget
Forms Lead capture
Form
Theme For theme templates
Site Logo
Site Title
Post Title
Post Content
Post Excerpt
Post Info
Featured Image
Author Box
Post Comments
Post Navigation
Breadcrumbs
Archive Title
Archive Posts
WooCommerce When WooCommerce is active
Products
Product Title
Product Images
Product Price
Add To Cart
Product Rating
Product Stock
Product Meta
Short Description
Product Data Tabs
Related Products
Menu Cart
Cart
Checkout
My Account
How it works
From install to a published page in three steps
No account to create and no licence key to enter.
Install the plugin
In WordPress go to Plugins › Add New › Upload Plugin, choose wonder-editor-1.0.0.zip and click Activate.
Open a page in the editor
Hover any page in Pages and click Edit with Wonder Editor. The live canvas opens with your page loaded.
Build and publish
Drag widgets in, type on the canvas, check each device, then click Publish. Your page is live.
User guide
Learn Wonder Editor in one sitting
Short, task-focused chapters. Start with the first three if you are new, then jump to whatever you are building.
Install and set up 2 minutes
You need WordPress 6.0 or newer and PHP 7.4 or newer. Wonder Editor works alongside any theme.
In your WordPress dashboard, open Plugins › Add New and click Upload Plugin.
Choose wonder-editor-1.0.0.zip, click Install Now, then Activate. You can also upload the wonder-editor folder to /wp-content/plugins/ by FTP.
A new Wonder Editor menu appears in the dashboard with Theme Builder, Popups, Saved Templates, Submissions and Settings.
Optional: open Wonder Editor › Settings to choose which post types can use the editor, set your global colours and fonts, decide role access, and paste API keys for Mailchimp, HubSpot and other integrations.
Tour of the editor
Open any page and click Edit with Wonder Editor. The screen has four areas.
Top bar. Device switcher (desktop, tablet, mobile), undo and redo, Navigator, history, keyboard shortcuts, light or dark mode, Preview changes and the Publish or Update button.
Sidebar. The Elements tab lists every widget with a search box. Select an element and the sidebar switches to its settings, split into Content, Style and Advanced tabs.
Canvas. Your real page, rendered by WordPress. Hover to see an element's outline and handle. Click to select it.
Navigator. A tree of sections, columns and widgets. Drag items to reorder, use the eye icon to hide one while you work, and right-click for more actions.
Press ? at any time to see every keyboard shortcut.
Build your first page
Pages are made of sections, which hold columns, which hold widgets. Use an Inner section when you need columns inside a column.
Click Add new section at the bottom of the canvas and pick a column structure in Select your structure.
Drag a Heading from the sidebar into the first column. A red line shows where it will land.
Click the heading text on the canvas and type your own. Select words to bring up the formatting toolbar for bold, italic and links.
Drag in a Text Editor, an Image and a Button. Set the button link in the Content tab.
To change order, drag an element by its handle, or drag it in the Navigator. Right-click any element to copy, paste, duplicate or delete it.
Click Save draft to keep working later, or Publish to make the page live.
Want a head start? Click Add template on the canvas to insert a ready-made block or full page from the template library.
Style and responsive editing
Every element has three tabs in the sidebar.
Content holds the text, media, links and options for that widget.
Style holds colours, typography, borders, shadows and hover states. Use the Normal and Hover toggle where it appears.
Advanced is on every element: margin, padding, background, border, motion effects, sticky, responsive visibility, custom attributes and custom CSS.
Different values per device
Controls with a device icon next to their label are responsive. Switch the top bar to tablet or mobile and change the value: it applies only to that device and smaller, while desktop keeps its own. Use the Responsive section of the Advanced tab to hide an element on a device entirely.
Motion and sticky
In Advanced › Motion effects add an entrance animation, scroll effects such as parallax and fade, or mouse tracking and 3D tilt. Turn on Sticky to pin a header or sidebar while visitors scroll.
Site settings and global widgets
Open Site settings in the sidebar to manage Global colors and Global fonts. Every colour and typography control lets you pick one of them, so a brand change is a single edit.
Global widgets. Right-click a styled widget and choose Save as global widget. Drop it anywhere from the Global widgets list. Editing one copy updates all of them. Choose Unlink from global to make a copy independent.
Dynamic tags. Text, link, image and number controls can pull live data instead of typed values: post title, author, site name, the current user, ACF, Pods and Toolset fields, and WooCommerce product data.
Templates, undo and revisions
Template library. Click Add template to browse Blocks, Pages and My templates, then click Insert.
Save your own. Right-click a section and choose Save as template. It appears under My templates and in Wonder Editor › Saved Templates.
Undo and history.Ctrl + Z undoes, Ctrl + Shift + Z redoes. The History panel lists every action so you can jump back several steps at once.
Revisions. Each save creates a WordPress revision. Open History › Revisions and click Restore on any earlier version.
Theme Builder
Use the Theme Builder to replace parts of your theme with designs you build in the editor.
Go to Wonder Editor › Theme Builder and click Add New.
Pick a template type (Header, Footer, Single, Archive, Search results, 404 and others), give it a name and create it. New templates start as drafts, so nothing changes on your site yet.
Build the template. Theme widgets such as Site Logo, Nav Menu, Post Title and Post Content fill in with real content.
Open Display conditions and add Include rules (for example Entire site) and any Exclude rules. Exclusions win over inclusions.
Click Save & close, then Publish. The template now replaces your theme's version wherever its conditions match.
Popups
Go to Wonder Editor › Popups and click Add New.
Design the popup content, then open its settings to choose a layout: modal, slide-in, top bar, bottom bar or full screen.
Choose a trigger: on page load, after scrolling a set depth, on click, on exit intent or after inactivity.
Add rules to narrow who sees it: logged in or out, device, referrer, number of page views or sessions, and how many times to show it.
Set display conditions for which pages it can appear on, then publish.
To open a popup from a button or menu item, set its link to #we-popup-123, where 123 is the popup's ID. A form can also open a popup after it is submitted.
Forms
Drag the Form widget onto the page and add fields in the Content tab: text, email, phone, number, date, select, radio, checkbox, file upload, hidden and more.
Mark fields as required and set validation. Add Step (page break) fields to split a long form into a multi-step form.
Use Conditional logic on any field to show it only when an earlier answer matches.
Under Actions after submit, choose what happens: save the submission, send an email, redirect, call a webhook, open a popup, or send to Mailchimp, HubSpot, ActiveCampaign, ConvertKit, Zapier, Slack or Discord.
Read entries in Wonder Editor › Submissions and export them as CSV.
Spam protection is on by default: nonce checks, a hidden honeypot field, a time trap for instant bot submissions and a rate limit.
WooCommerce
With WooCommerce active, the Theme Builder offers Single product, Product archive, Cart, Checkout and My Account template types.
Create a Single product template and drag in Product Images, Product Title, Product Price, Product Rating, Add To Cart, Product Meta and Product Data Tabs.
Set its display conditions to all products or to a product category.
Add a Menu Cart widget to your header template so shoppers always see their cart.
Use the Products widget on any page to show a grid of products filtered by category, tag or sale status.
Roles and access
In Wonder Editor › Settings, set an access level for each WordPress role.
Access level
What the role can do
Full access
Everything: layout, styles, templates and settings the role's WordPress capabilities allow.
Content only
Edit text, images and links. Layout and style controls are hidden, so the design cannot break.
No access
The Edit with Wonder Editor button is hidden for this role.
Keyboard shortcuts
On a Mac, use ⌘ wherever you see Ctrl.
Shortcut
Action
Ctrl + S
Save
Ctrl + Z
Undo
Ctrl + Shift + Z or Ctrl + Y
Redo
Ctrl + C / V
Copy and paste the selected element
Ctrl + Shift + V
Paste style only
Ctrl + D
Duplicate
Delete
Delete the selected element
Ctrl + I
Show or hide the Navigator
Ctrl + Shift + H
Open History
Ctrl + Shift + M
Cycle desktop, tablet and mobile
Ctrl + Shift + L
Switch light and dark editor theme
Esc
Cancel or close
?
Show all shortcuts
For developers
Add your own widgets by extending WonderEditor\Widget_Base and registering on the wonder_editor/widgets/register action. Widgets render on the server in both the editor and the front end, so there is no JavaScript template to write. Responsive controls, selectors and dynamic tags work the same as in built-in widgets. The full reference is in docs/developer-widgets.md inside the plugin.
add_action( 'wonder_editor/widgets/register', function ( $widgets ) {
require_once __DIR__ . '/class-hello-widget.php';
$widgets->register( new My_Plugin\Hello_Widget() );
} );
class Hello_Widget extends \WonderEditor\Widget_Base {
public function get_name() { return'hello'; }
public function get_title() { return __( 'Hello', 'my-plugin' ); }
public function get_category() { return'basic'; }
protected function register_controls() {
return array(
array( 'name' => 'text', 'type' => 'text', 'label' => 'Text', 'default' => 'Hello!' ),
);
}
protected function render( array $settings, array $element ) {
return'<p>' . esc_html( $settings['text'] ) . '</p>';
}
}
FAQs
Questions people ask before installing
Something else on your mind? Check the user guide above, or read readme.txt in the plugin folder.
Is Wonder Editor free?
Yes. It is released under GPLv2 or later. Every builder and all 75 widgets are included, with no paid tier.
Will it work with my theme?
Yes. Pages you build sit inside your theme's layout, and Theme Builder templates work with both classic and block themes. Choose the Canvas or Full width page layout in Page settings for a blank slate.
What happens if I deactivate the plugin?
Your pages keep a plain HTML copy of their content, so visitors still see your text and images. Theme Builder templates and popups stop applying until you reactivate.
Does uninstalling delete my pages?
No. Uninstalling removes the plugin settings only. To also remove templates, submissions and layouts, add define( 'WONDER_EDITOR_REMOVE_ALL_DATA', true ); to wp-config.php before uninstalling.
Do I need WooCommerce?
No. WooCommerce templates and product widgets only appear once WooCommerce is active. Everything else works without it.
Will it slow down my site?
Each page loads only the CSS and JavaScript its widgets use. Styles are compiled once and cached, and the markup is semantic and accessible.
Can I stop editors from changing the design?
Yes. Set their role to Content only in Wonder Editor › Settings. They can edit text, images and links while layout and style controls stay hidden.
Can developers add widgets?
Yes. Extend WonderEditor\Widget_Base and register it on the wonder_editor/widgets/register action. See For developers.
Your next page is one drag away
Download Wonder Editor, activate it, and open any page in the live editor. It takes about two minutes.