> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wpos.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Elementor

> WPOS builds real Elementor pages you can open and edit in the Elementor editor, and its widgets sit in the Elementor widget panel like any other.

export const YouTubeVideo = ({id, title, caption}) => {
  const [playing, setPlaying] = useState(false);
  return <div className="demo-embed">
      {playing ? <iframe src={`https://www.youtube-nocookie.com/embed/${id}?autoplay=1&rel=0&playsinline=1`} title={title} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerPolicy="strict-origin-when-cross-origin" allowFullScreen /> : <button type="button" className="yt-facade" onClick={() => setPlaying(true)} aria-label={`Play video: ${title}`} title={title}>
          <span className="yt-facade-thumb" style={{
    backgroundImage: `url(https://i.ytimg.com/vi/${id}/maxresdefault.jpg)`
  }} aria-hidden="true" />
          <span className="yt-facade-play" aria-hidden="true">
            <svg width="26" height="26" viewBox="0 0 24 24" fill="currentColor">
              <path d="M8 5.14v13.72a1 1 0 0 0 1.52.85l10.97-6.86a1 1 0 0 0 0-1.7L9.52 4.29A1 1 0 0 0 8 5.14z" />
            </svg>
          </span>
        </button>}
      {caption ? <p className="demo-caption">{caption}</p> : null}
    </div>;
};

On an Elementor site, WPOS builds real Elementor pages: containers and widgets
you can open in the Elementor editor and change the normal way, on your own
theme, with images in your own media library.

<YouTubeVideo id="dBOf-RpkGic" title="WPOS Takes Over Elementor" caption="One reference in, an animated site out" />

## Set the site to Elementor

In [Settings](/operate/settings), under **Preferences**, set **Preferred page
builder** to **Elementor**. The change takes effect from the next chat
session, and WPOS builds in Elementor from then on.

## What WPOS builds

* **Real Elementor pages.** Every section is an Elementor container you can
  edit in the Elementor editor afterwards.
* **WPOS widgets in the widget panel.** Every WPOS widget is registered as a
  native Elementor widget, under its own **WPOS** category, and renders in the
  editor with no compatibility warning.

<Frame caption="WPOS widgets appear under a WPOS category in the Elementor widget panel.">
  <img src="https://mintcdn.com/wpos/GOLmOLqulHCAeSsd/images/surfaces/builders-elementor.png?fit=max&auto=format&n=GOLmOLqulHCAeSsd&q=85&s=f96c08d497dad2e12fe16e2050d9ea1e" alt="The Elementor editor widget panel showing a WPOS category with a widget, alongside Elementor's own categories." width="1280" height="720" data-path="images/surfaces/builders-elementor.png" />
</Frame>

* **A safety copy before each rewrite.** Elementor does not keep a WordPress
  revision when a page's layout is saved this way, so WPOS keeps copies of a
  page's recent layouts before it rewrites them. An edit that goes wrong can
  be rolled back.

## From a reference site to a finished page

In the video, WPOS rebuilds the look of an inspiration site from one link and
a two-word constraint, "no gradients":

* It studies the reference and describes what it sees before building.
* It copies the photos into the media library instead of linking to the
  original site.
* It sets up the theme's colors as variables, so recoloring the whole site is
  one edit.
* It adds scroll animations on request, finds and fixes a bug in its own
  animation code, and checks every animated element on the page before
  reporting done.

```text theme={null}
Rebuild the look of this site in Elementor, no gradients:
https://example.com
```

<Tip>
  A page whose sections show up empty after a migration usually uses a WPOS
  widget that did not come across to the new site. WPOS names the missing
  widget in a note visible to anyone signed in with edit rights (in the page
  source), so you know what to bring over.
</Tip>

<CardGroup cols={2}>
  <Card title="Page builders" icon="cubes" href="/operate/builders">
    How WPOS works across page builders, with no lock-in.
  </Card>

  <Card title="Elementor Ultra" icon="code" href="/ultra/overview">
    Open-source tooling for building Elementor sites as code.
  </Card>
</CardGroup>
