Content Mirror (Git)
New in v3.3.0. The content mirror exports each Elementor page/template’s content to versioned JSON files under uploads/emcp-content-mirror/, so your own git / CI can diff and version page designs. The plugin never runs git itself. It maintains the files; your version control tracks them.
Three tools, edit_posts, always-on, enabled by default.
emcp-tools/export-content
Section titled “emcp-tools/export-content”Exports content to the mirror directory.
Input: post_id (optional): export one page/template, or omit to export all Elementor pages and templates.
Returns: the written file path (single) or per-type counts (all).
emcp-tools/restore-content
Section titled “emcp-tools/restore-content”Restores a page/template’s Elementor content from its mirror file, a file-based undo. Overwrites the current content with the mirrored version.
Input: post_id.
emcp-tools/list-content-exports
Section titled “emcp-tools/list-content-exports”Lists the mirror files currently on disk (id, type, title, exported time), so you can see what’s versioned and pick something to restore. Read-only.
Auto-export on save
Section titled “Auto-export on save”An opt-in toggle at EMCP Tools → Tools (off by default) auto-exports a page or template to the mirror every time it’s saved, keeping the mirror current without manual calls. The on-demand tools work regardless of the toggle.
Committing the mirror
Section titled “Committing the mirror”The mirror lives at wp-content/uploads/emcp-content-mirror/ as pretty-printed <type>-<id>-<slug>.json files. Point your own git repo (or a CI job) at that directory to get a diffable, revertable history of every page design. Because the plugin never shells out to git, it stays within WordPress.org’s guidelines. Versioning is entirely under your control.
Mirror vs. Change History
Section titled “Mirror vs. Change History”| Change History | Content Mirror | |
|---|---|---|
| Storage | in-database ledger | JSON files on disk |
| Scope | recent changes (capped) | full page/template content |
| Undo | one-click rollback | restore from file |
| History | short-term | durable, git-managed |
Use the ledger for quick undo of recent AI edits; use the mirror for long-term, externally version-controlled history.