Skip to main content

Ceros WordPress Plugin

The Ceros WordPress Plugin adds a Ceros block to the WordPress block editor. Authors browse their Ceros account, pick an experience, and see it previewed in place — no copying embed codes between tabs, and a choice of how the experience is delivered to the page.

Delivery modes

The block supports four ways to render an experience, so you can trade off freshness, offline resilience, and rendering approach:

ModeWhere it runsWhat it does
IframeClient-sideClassic iframe embed; works for every experience, full height or scrollable
Flex InlineClient-sideRenders via Shadow DOM, without an iframe (Flex experiences only, Beta)
Flex SSRServer-sideRenders the experience HTML on the server; the browser loads only the hydration script (Flex experiences only, Beta)
StoreServer-sideMirrors the experience and its assets into your uploads directory, so pages render with no runtime dependency on the Ceros CDN

Adding an experience

There are two ways to get an experience into a block:

  • Experience picker — with a Flex API key configured, authors browse their account's folder tree and select an experience directly. Folders load their experiences on expand, so large accounts stay responsive.
  • Public URL — paste the URL of a published experience. No API key needed, which makes the block usable on sites that cannot hold Ceros credentials.

Connecting to Ceros

The API key is entered under Settings → Ceros in WordPress admin, and is encrypted at rest. It can also be supplied as a CEROS_API_KEY constant in wp-config.php, which keeps the key out of the database and out of database exports — useful when managing separate keys per environment.

Requirements

  • WordPress 6.7+
  • PHP 7.4+
  • The PHP Sodium extension (bundled with PHP 7.2+, used to encrypt the API key)
  • A Flex API key (optional — only needed for the experience picker)

Get started

The plugin ships as an installable ZIP on the repository's releases page. Full installation, configuration, and delivery-mode details live in the repository:

View on GitHub