Visual editing

Edit the real page, not a form.

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.

cms.ateliersorel.com/wp-adminLive
01

Live preview while typing

Every keystroke updates the page in the browser, with character counters where a field has a limit.

02

Page composition

Add, move, duplicate and remove flexible content blocks from the Structure tree.

03

Undo, drafts, history

Undo and redo, local drafts that survive a closed tab, and a history of every saved change with its author.

04

Conflict protection

If someone else changed the page meanwhile, Leiho refuses to overwrite it and offers to reload.

05

Pages without leaving

Create, duplicate and trash pages, and change their status from the toolbar.

06

Every device

Switch the preview between desktop, tablet and phone widths.

One attribute per field

Mark what editors can change. In a JavaScript framework, field() writes the attributes for you. In plain HTML, write them by hand.

page.tsx
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="" />

How it works

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.

Inert for visitors

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.

Edit the real site.

Free and open source. Try it on a real WordPress, in your browser.