
Live preview while typing
Every keystroke updates the page in the browser, with character counters where a field has a limit.
Visual editing
Leiho opens your actual front end inside wp-admin. Editors click a heading, an image or a button, change it in the panel and watch the page update as they type. Save writes to WordPress, Publish ships it.
Every keystroke updates the page in the browser, with character counters where a field has a limit.
Add, move, duplicate and remove flexible content blocks from the Structure tree.
Undo and redo, local drafts that survive a closed tab, and a history of every saved change with its author.
If someone else changed the page meanwhile, Leiho refuses to overwrite it and offers to reload.
Create, duplicate and trash pages, and change their status from the toolbar.
Switch the preview between desktop, tablet and phone widths.
Mark what editors can change. In a JavaScript framework, field() writes the attributes for you. In plain HTML, write them by hand.
import { field } from 'leiho';
<h1 {...field(page, 'hero_title')}>{page.fields.hero_title}</h1>
<img {...field(page, 'hero_image')} src={page.fields.hero_image.url} alt="" />The editor loads your site in an iframe. A small bridge in your front end finds the elements you annotated and reports them. Clicking one opens its field; typing updates the page instantly, in the browser only. Nothing is sent to your site: values travel by postMessage, origin-checked on both sides.
The bridge only loads inside the editor. Visitors download about 150 bytes of loader, not the 10 KB bridge, and the bridge never calls the WordPress API.
Free and open source. Try it on a real WordPress, in your browser.