Title: Page Composer — Basic
Author: Sergey Gorev / Page Composer
Published: <strong>Ògún  30, 2026</strong>
Last modified: Ọwẹ́wẹ̀  8, 2026

---

Ṣàwárí àwọn plugin

![](https://ps.w.org/page-composer-basic/assets/banner-772x250.png?rev=3672612)

![](https://ps.w.org/page-composer-basic/assets/icon-256x256.png?rev=3672598)

# Page Composer — Basic

 Láti ọwọ́ [Sergey Gorev / Page Composer](https://profiles.wordpress.org/segorev/)

[Ṣe ìgbàsílẹ̀](https://downloads.wordpress.org/plugin/page-composer-basic.1.6.85.zip)

 * [Àwọn àlàyé](https://yor.wordpress.org/plugins/page-composer-basic/#description)
 * [Àwọn àgbéyẹ̀wò](https://yor.wordpress.org/plugins/page-composer-basic/#reviews)
 *  [Ìgbéwọlẹ̀](https://yor.wordpress.org/plugins/page-composer-basic/#installation)
 * [Ìdàgbàsókè](https://yor.wordpress.org/plugins/page-composer-basic/#developers)

 [Ìrànlọ́wọ́](https://wordpress.org/support/plugin/page-composer-basic/)

## Àpèjúwe

Page Composer — Basic replaces the default editor on Posts and Pages with the Page

Composer visual editor. Compose Posts and Pages from real components (Text, Image,
WooCommerce blocks) and render them with the bundled PCEditor library.

Features:

 * Page Composer editor on Posts, Pages and the Page Templates post type.
 * Composed content is stored as JSON in post meta and compiled into
    wp_posts.post_content
   as an HTML snapshot on every save — so WordPress search, feeds and other plugins
   see real page text while the live page always renders fresh from the JSON.
 * Native revisions cover both the snapshot and the JSON (WP 6.4+ revisioned
    meta)—
   restoring a revision restores the composition.
 * Page Composer  Reindex: rebuild all snapshots after component-template
    changes(
   theme overrides, markup edits) without re-saving every post.
 * Rendering via the PCEditor general library, with theme-overridable templates
   (
   drop `{Component}.php` into your themeÌtumọ̀ Yorùbá: ’s `pce_templates/`).
 * Per-component CSS (the `css_props` field) compiled into media queries.
 * Settings (Editor / Components / Reindex tabs): enable the editor (it
    replaces
   the WordPress block editor and Site Editor on Posts and Pages), allowed roles,
   default Row grid, media-query sizes, and CSS output.
 * Detects conflicting page builders (Elementor, WPBakery, Divi, Beaver Builder,
   …)
   and disables the editor with a notice while any is active.
 * Load/Save page templates, stored as a custom post type and re-editable in the
   editor.
 * WooCommerce components (18) via shortcodes — products, recent/featured/sale/
   
   best-selling/top-rated, by category/attribute, single product, related, add to
   cart (+ URL), cart, checkout, my account, order tracking.
 * WordPress-widget components (13) — Search, Categories, Recent Posts, Tag Cloud,
   
   Archives, Calendar, Menu, Meta, Pages, Recent Comments, RSS, Links, Text.
 * Raw HTML and Raw JS components for embedding custom markup and scripts.
 * Contact Form 7 component (own editor tab) — embed a form by its ID and
    optional
   title (offered while the Contact Form 7 plugin is active).
 * Content components: Title (configurable tag + font size), Quote, Separator,
    
   CTA Button (colors as CSS variables) and Google map (Maps Embed API key in Settings
   Components; keyless embed without one).
 * “Page Composer — Full Width” page template (Page Attributes  Template) —
    the
   active themeÌtumọ̀ Yorùbá: ’s header + footer only, content full-width (classic
   + block themes).
 * Default Row/Col grid stylesheet loaded in the active theme (disable with the
   
   pce_load_grid_styles filter, or override the Ìtumọ̀ Yorùbá: –pce-grid-* custom
   properties).
 * Configurable Row column-layout presets (Components  Row layouts) — a visual
    
   bar builder, fed to the editor as editor.hooks.filters.components.Row.layouts.
 * Yoast SEO content analysis integration.
 * Filters: `pce_components`, `pce_css_field`, `pce_editor_enabled`,
    pce_load_assets,`
   pce_load_grid_styles`, `pce_content_meta_key`, pce_pre_save_content, `pce_load_content`.

No account or API key is needed — activate the plugin and the editor works.

#### WooCommerce support

Page Composer ships ready-made components for WooCommerce stores: products
 (recent,
featured, on sale, best selling, top rated), products by category or attribute, 
a single product, related products, add to cart (and its URL), cart, checkout, my
account and order tracking. They render through WooCommerceÌtumọ̀ Yorùbá: ’s own
shortcodes, so they appear in the editor only while WooCommerce is installed and
active, and they follow your WooCommerce templates and styling. WooCommerce itself
is not bundled or required — without it, Page Composer simply omits these components.

Page Composer is an independent product. It is not affiliated with, endorsed by

or sponsored by Automattic or WooCommerce. “WooCommerce” and “WordPress” are trademarks
of their respective owners and are used here only to describe compatibility.

### External services

The plugin performs no license or activation calls — no account and no API key
 
are needed, and nothing is sent automatically in the background.

**Feedback to page-composer.com (user-initiated only).** Two optional forms
 send
data to `https://page-composer.com/plugin-feedback`, and only when an administrator
explicitly submits them:

 * _Leave a testimonial_ (linked from a dismissible admin notice): sends the
    star
   rating and testimonial text the admin typed.
 * _Deactivation survey_ (shown when deactivating the plugin; fully skippable
    via“
   Skip & deactivate”, which sends nothing): sends the selected reason and the optional
   description.

Both submissions also include the siteÌtumọ̀ Yorùbá: ’s domain name, the plugin 
version and
 the WordPress version, so we can reproduce reported problems. No page
content, no personal data and no visitor data is ever sent, and nothing is sent 
without an explicit form submission. This service is operated by Page-composer.com—
see our terms (https://page-composer.com/terms) and privacy policy (https://page-
composer.com/privacy).

**Google Maps (frontend embed, only if you use the Google map component).**
 When
a page contains the Google map component, that page embeds a map in an iframe from
google.com — through the Google Maps Embed API when a key is configured under _Page
Composer  Settings  Components_, or GoogleÌtumọ̀ Yorùbá: ’s keyless classic embed
when it is not. The embed is requested by the visitorÌtumọ̀ Yorùbá: ’s browser when
such a page loads, and carries the map address/coordinates you entered in the component
plus the standard request headers the browser sends to any site (IP address, user
agent, referrer). The plugin itself sends no data to Google from the server, and
pages without this component make no Google requests at all. This service is provided
by Google: terms of service (https://policies.google.com/terms), privacy policy (
https://policies.google.com/privacy), Google Maps Platform terms (https://cloud.
google.com/maps-platform/terms).

### Source code

The editor bundle shipped in `assets/editor/js/pceditor_wp_basic.js` is a
 standard
webpack production build of the Page Composer editor. Bundled third-party libraries(
React, ReactDOM and small MIT/ISC utilities) are listed with their licenses in `
assets/editor/js/pceditor_wp_basic.js.LICENSE.txt`; the pluginÌtumọ̀ Yorùbá: ’s 
own PHP is unminified throughout. Questions about the build are welcome at sergey@
page-composer.com.

### Storage hooks

By default the composed JSON lives in the `_pce_content` post meta, and a
 compiled
HTML snapshot of it is written to `wp_posts.post_content` on every save (that snapshot
is what search/feeds/REST consumers read; the live page renders from the JSON). 
Three filters customise the storage:

    ```
    pce_content_meta_key — `filter( string $meta_key )`
    ```

Rename the post meta key that holds the JSON (default `_pce_content`).
 Applied 
consistently to every read/write, including revisioning and the Reindex tool. Register
it before `init` priority 10 (top-level in your plugin or in the themeÌtumọ̀ Yorùbá:’
s functions.php / `after_setup_theme`) and in every context (admin, frontend, cron)—
the one-time storage migration and the revisioned meta registration resolve the 
key there. Adopting the filter on a site with existing content requires copying 
the `_pce_content` meta to the new key yourself.

    ```
    pce_pre_save_content — `filter( bool $handled, string $json, array $postarr )`
    ```

Runs on save (inside `wp_insert_post_data`). Store `$json` yourself (a custom
 table,
an external service) and return `true`; the plugin then writes neither the meta 
nor the snapshot. `$json` arrives unslashed and JSON-validated (or empty when the
composition was cleared).

    ```
    pce_load_content — `filter( string $json, WP_Post $post )`
    ```

Runs wherever the plugin reads a postÌtumọ̀ Yorùbá: ’s composition (editor metabox,
frontend
 renderer, Yoast analysis). Receives the meta value as the default; return
your stored JSON instead.

Example — rename the meta key:

    ```
    add_filter( 'pce_content_meta_key', fn () => '_my_composition' );
    ```

Example — store the JSON in a custom table:

    ```
    add_filter( 'pce_pre_save_content', function ( $handled, $json, $postarr ) {
        my_table_store( (int) $postarr['ID'], $json );
        return true;
    }, 10, 3 );

    add_filter( 'pce_load_content', function ( $json, $post ) {
        $stored = my_table_fetch( $post->ID );
        return $stored !== null ? $stored : $json;
    }, 10, 2 );
    ```

The saved page templates (Load/Save window) follow the same storage: JSON in
 the
templates CPTÌtumọ̀ Yorùbá: ’s meta, snapshot in its post_content. Saved component
settings (each componentÌtumọ̀ Yorùbá: ’s Load/Save-settings window) are posts of
the pce_comp_templates post type — the component name in `_pce_component_tag`, the
settings JSON in `_pce_component_json` — the same storage the Pro plugin uses, so
an upgrade keeps every saved version. (Pre-existing entries in the old `pce_components_store`
option are migrated automatically once; the option is kept as a downgrade backup
until uninstall.)

## Ìgbéwọlẹ̀

 1. Upload the plugin to `/wp-content/plugins/` (or install it from the Plugin
     Directory)
    and activate it.
 2. Open _Page Composer  Settings_ and enable the editor — it replaces the
     block editor
    on Posts and Pages.
 3. Edit any Post or Page: compose it from components, then Update as usual.

## Àwọn àgbéyẹ̀wò

Kò sí àwọn àgbéyẹ̀wò fún plugin yìí.

## Àwọn Olùkópa & Olùgbéejáde

“Page Composer — Basic” jẹ́ ètò ìṣàmúlò orísun ṣíṣí sílẹ̀. Àwọn ènìyàn wọ̀nyí ti
ṣe ìkópa sí plugin yìí.

Àwọn Olùkópa

 *   [ Sergey Gorev / Page Composer ](https://profiles.wordpress.org/segorev/)

A ti túmọ̀ “Page Composer — Basic” sí èdè agbègbè 1 kan. Ọpẹ́lọpẹ́ fún [àwọn atúmọ̀ èdè](https://translate.wordpress.org/projects/wp-plugins/page-composer-basic/contributors)
fún àwọn ìkópa wọn.

[Túmọ̀ “Page Composer — Basic” sí èdè rẹ.](https://translate.wordpress.org/projects/wp-plugins/page-composer-basic)

### Ṣe o nífẹ̀ẹ́ sí ìdàgbàsókè?

[Ṣàwárí koodu](https://plugins.trac.wordpress.org/browser/page-composer-basic/),
ṣàyẹ̀wò [ibi ìpamọ́ SVN](https://plugins.svn.wordpress.org/page-composer-basic/),
tàbí ṣe àgbékalẹ̀ sí [àkọsílẹ̀ ìdàgbàsókè](https://plugins.trac.wordpress.org/log/page-composer-basic/)
nípasẹ̀ [RSS](https://plugins.trac.wordpress.org/log/page-composer-basic/?limit=100&mode=stop_on_copy&format=rss).

## Àkọsílẹ̀ àwọn àyípadà

#### 1.6.85

 * Fixed: TinyMCE dialogs of the wysiwyg field (Source Code, insert link) opened
   
   behind the settings window when the editor ran in full-window mode.

#### 1.6.84

 * New card templates for custom components: `fields_chips` and `fields_grid`
    show
   every field marked `show_in_template: true` on the editor card as a label + value
   pair — switches as localized Yes/No, colors as a swatch, selects as their option
   label, files as the file name, long text truncated.

#### 1.6.83

 * Components window: a long category list no longer overlaps the bar with the
    
   action buttons.
 * Fixed a potential editor freeze in background tabs when a save/load request
    
   failed — request errors now log to the browser console instead of showing a blocking
   alert.

#### 1.6.82

 * Columns can now be reordered by dragging the new handle in a columnÌtumọ̀ Yorùbá:’
   s
    toolbar — the neighbouring columns slide aside to show where it will land.
 * Security hardening: composition JSON is now filtered by author capability on
   
   every save, mirroring how WordPress core treats post_content. Authors without
   the `unfiltered_html` capability have field values passed through wp_kses_post()
   and script payloads (Raw JS) removed; authors with the capability are unaffected.

#### 1.6.80

 * First public release on WordPress.org.
 * Visual component editor for Posts and Pages with saved page templates and
    per-
   component saved settings.
 * WooCommerce (18), WordPress-widget (13), Contact Form 7 and content
    components;
   Yoast SEO analysis integration.
 * Full Width page template, configurable Row layouts, grid stylesheet filters.
 * Wysiwyg paste clean-up (data-* attributes and copy artifacts are stripped).
 * Interface translated into 12 languages.

## Àkójọpọ̀ Meta

 *  Ẹ̀yà **1.6.85**
 *  Ìgbàgbọ́hùn tó kẹ́yìn **ọ̀sẹ̀ 2 sẹ́yìn**
 *  Àwọn ìgbéwọlẹ̀ tó ṣiṣẹ́ **Tó kéré sí 10**
 *  Ẹ̀yà WordPress ** 6.4 tàbí ju bẹ́ẹ̀ lọ **
 *  Dánwò dé **7.1.1**
 *  Ẹ̀yà PHP ** 8.1 tàbí ju bẹ́ẹ̀ lọ **
 *  Àwọn èdè
 * [English (US)](https://wordpress.org/plugins/page-composer-basic/) àti [Russian](https://ru.wordpress.org/plugins/page-composer-basic/).
 *  [Túmọ̀ sí èdè rẹ](https://translate.wordpress.org/projects/wp-plugins/page-composer-basic)
 * Àwọn àmì
 * [components](https://yor.wordpress.org/plugins/tags/components/)[drag-and-drop](https://yor.wordpress.org/plugins/tags/drag-and-drop/)
   [editor](https://yor.wordpress.org/plugins/tags/editor/)[page builder](https://yor.wordpress.org/plugins/tags/page-builder/)
 *  [Ìwòye Tó Péye](https://yor.wordpress.org/plugins/page-composer-basic/advanced/)

## Àwọn ìbò

Kò sí ìwádìí tí a tíì fi ránṣẹ́.

[Your review](https://wordpress.org/support/plugin/page-composer-basic/reviews/#new-post)

[Wo gbogbo àwọn àgbéyẹ̀wò](https://wordpress.org/support/plugin/page-composer-basic/reviews/)

## Àwọn Olùkópa

 *   [ Sergey Gorev / Page Composer ](https://profiles.wordpress.org/segorev/)

## Ìrànlọ́wọ́

Nǹkan wà tí o fẹ́ sọ? Ṣé o nílò ìrànlọ́wọ́?

 [Wo àpéjọ ìrànlọ́wọ́](https://wordpress.org/support/plugin/page-composer-basic/)