Title: Dreamfox Client Edit Mode
Author: dreamfox
Published: <strong>Nzeri 29, 2026</strong>
Last modified: Nzeri 29, 2026

---

Search plugins

![](https://ps.w.org/dreamfox-client-edit-mode/assets/banner-772x250.png?rev=3719137)

![](https://ps.w.org/dreamfox-client-edit-mode/assets/icon-256x256.png?rev=3719137)

# Dreamfox Client Edit Mode

 By [dreamfox](https://profiles.wordpress.org/dreamfox/)

[Download](https://downloads.wordpress.org/plugin/dreamfox-client-edit-mode.1.0.3.zip)

 * [Details](https://kin.wordpress.org/plugins/dreamfox-client-edit-mode/#description)
 * [Reviews](https://kin.wordpress.org/plugins/dreamfox-client-edit-mode/#reviews)
 *  [Installation](https://kin.wordpress.org/plugins/dreamfox-client-edit-mode/#installation)
 * [Development](https://kin.wordpress.org/plugins/dreamfox-client-edit-mode/#developers)

 [Support](https://wordpress.org/support/plugin/dreamfox-client-edit-mode/)

## Description

**Dreamfox Client Edit Mode** is built for agencies and freelancers who deliver 
WordPress sites and then hand them over. Your client gets a restricted **Client 
Editor** role: they can update text, swap images and change links on exactly the
pages you assign — and nothing else. Layout, styling and page structure are locked,
and the lock is enforced **on the server**, not just hidden in the editor UI.

#### How it works

 1. Protect the pages the client may edit.
 2. Assign one or more Client Editor users to those pages.
 3. Choose per page (and optionally per user) whether text, images and links may be
    changed.

Every save by a Client Editor is compared against the stored page by a permission
diff engine: only allowed changes go through. Adding, removing, moving or restyling
elements is rejected with a clear message — the layout you delivered cannot be broken.

#### Server-side enforcement

The editor UI is locked down for the role (content-only editing, no style panels,
no block inserter), but that is comfort, not the security. The real protection runs
on the server on **every** save route:

 * The block editor’s REST save — rejected with a clear per-violation error in the
   editor.
 * Classic admin saves and XML-RPC — a late `wp_insert_post_data` guard.
 * Page-level access — `map_meta_cap` pins Client Editors to their assigned protected
   pages; everything else (including deleting and creating posts) is denied.
 * Elementor-built pages — Client Editors can open the Elementor editor, and saving
   plus direct `_elementor_data` writes are validated the same way as everywhere
   else.

#### What the client sees

 * A simplified admin: a **My Pages** screen with an Edit button per assigned page,
   irrelevant menus and toolbar items hidden.
 * An optional “Edit this page” toolbar link on their assigned pages.
 * Clear error messages when a change is not allowed, instead of a broken layout.

#### What you keep

 * Every allowed change creates a normal WordPress revision — nothing is ever overwritten
   without a trace.
 * An activity log of allowed and blocked saves (summaries only: element IDs and
   attribute names, never full content, never IP addresses), with configurable retention.
 * Text / image / link permissions per page, with per-user overrides.

Built by [Dreamfox Media](https://dreamfoxmedia.com). Guides and frequently asked
questions are in the [knowledge base](https://help.dreamfoxmedia.com/dreamfox-client-edit-mode);
need help? [Contact support](https://dreamfoxmedia.com/support/).

## Screenshots

[⌊Overview: protection status, Client Editors and recent activity.⌉⌊Overview: protection
status, Client Editors and recent activity.⌉[

Overview: protection status, Client Editors and recent activity.

[⌊Protected Pages: protect pages and jump to their permissions.⌉⌊Protected Pages:
protect pages and jump to their permissions.⌉[

Protected Pages: protect pages and jump to their permissions.

[⌊Page permissions: text/image/link defaults and per-user overrides.⌉⌊Page permissions:
text/image/link defaults and per-user overrides.⌉[

Page permissions: text/image/link defaults and per-user overrides.

[⌊My Pages: the simplified dashboard a Client Editor sees.⌉⌊My Pages: the simplified
dashboard a Client Editor sees.⌉[

My Pages: the simplified dashboard a Client Editor sees.

[⌊Settings with the Information tab.⌉⌊Settings with the Information tab.⌉[

Settings with the Information tab.

## Installation

 1. Upload the plugin files to `/wp-content/plugins/dreamfox-client-edit-mode`, or 
    install through the WordPress plugins screen.
 2. Activate the plugin through the ‘Plugins’ screen.
 3. Open **Client Edit** in the admin menu, protect a page and assign a Client Editor.
 4. Create client users under Users  Add New with the “Client Editor” role.

## FAQ

### Is the protection just hidden editor buttons?

No. The editor UI is locked for the role, but every save is additionally validated
on the server against the stored page. Even a hand-crafted REST API request with
a Client Editor’s credentials cannot add, remove, move or restyle elements — the
whole save is rejected with a 403 and a list of violations.

### What exactly can a Client Editor change?

Only what you allow per page, in three categories: **text** (headings, paragraphs,
button labels …), **images** (replace an image, its alt text or caption) and **links**(
URLs and link targets). Layout, styling, element structure and everything else is
always locked. You can override the three categories per user.

### What happens when a Client Editor tries something that is not allowed?

The save is rejected as a whole — no partial merge — and the editor shows a clear
message explaining what was not allowed. The attempt is recorded in the activity
log.

### Does it work with Elementor?

Yes. Client Editors can open the Elementor editor on their assigned pages, and every
save (plus direct `_elementor_data` writes) is validated against the same text/image/
link rules as the block editor.

### How many pages can I protect?

As many as you like — there is no limit.

### Are changes traceable?

Yes, twice over: every allowed save creates a regular WordPress revision (so you
can compare and restore), and the activity log records who changed what, when, linked
to that revision — plus every blocked attempt.

### A block I added later is not editable for the client. Why?

Blocks get a persistent internal ID when a page is protected. Blocks added afterwards
do not have one yet and are read-only for Client Editors until you press **Re-sync
IDs** on the Protected Pages screen.

### Which hooks can developers use?

 * `dreamfox_client_edit_permissions` — filter the permission set used for a protected
   page.
 * `dreamfox_client_edit_can_modify` — filter a single per-element/attribute permission
   decision (structural changes never reach this filter; they are always denied).
 * `dreamfox_client_edit_allowed_attributes` — classify attributes of custom blocks/
   widgets into the text / image / link / layout / style / advanced categories.
 * `dfce_protected_post_types` — post types guarded by the block editor save guard(
   default: page, post).
 * `dfce_save_blocked` (action) — fires whenever an enforcement path blocks a save.

### Where can I find documentation and support?

 * [Knowledge base](https://help.dreamfoxmedia.com/dreamfox-client-edit-mode): setup
   guides, permissions, Elementor and troubleshooting.
 * [Support](https://dreamfoxmedia.com/support/): submit a request to the Dreamfox
   Media team.
 * [Dreamfox Media](https://dreamfoxmedia.com): more plugins and services.

### Does it delete my data on uninstall?

Not by default. Enable _“Delete all plugin data when the plugin is uninstalled”_
under Client Edit  Settings  Advanced first if you want a clean removal. The Client
Editor role itself is always removed on uninstall.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Dreamfox Client Edit Mode” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ dreamfox ](https://profiles.wordpress.org/dreamfox/)

[Translate “Dreamfox Client Edit Mode” into your language.](https://translate.wordpress.org/projects/wp-plugins/dreamfox-client-edit-mode)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/dreamfox-client-edit-mode/),
check out the [SVN repository](https://plugins.svn.wordpress.org/dreamfox-client-edit-mode/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/dreamfox-client-edit-mode/)
by [RSS](https://plugins.trac.wordpress.org/log/dreamfox-client-edit-mode/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.3

 * Added the plugin icon, banner and screenshots for the WordPress.org plugin page.
 * Readme: added links to dreamfoxmedia.com and the knowledge base.

#### 1.0.2

 * Remove all Pro feature gating: unlimited protected pages, Elementor editing and
   per-element permission rules are now standard, unrestricted functionality.
 * Move the “My Pages” admin menu item to the default (lower) position instead of
   a prominent top position.

#### 1.0.1

 * Bump “Tested up to” to WordPress 7.1.
 * Trim short description to meet the wp.org 150 character limit.
 * Harden activity log queries with esc_sql() on the table name.

#### 1.0.0

 * Initial release.
 * Client Editor role restricted to assigned protected pages (map_meta_cap).
 * Permission diff engine: server-side validation of every save (block editor REST,
   classic admin, XML-RPC, Elementor) with all-or-nothing rejection and per-violation
   messages.
 * Text / image / link permissions per page and per user; layout, styling and structure
   always locked.
 * Content-only block editor experience for the role; persistent block IDs with 
   re-sync.
 * Simplified client dashboard (My Pages), pruned admin menus/toolbar, login redirect,
   frontend edit link.
 * Activity log with revision linking, configurable retention and daily cleanup.

## Meta

 *  Version **1.0.3**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.1 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/dreamfox-client-edit-mode/)
 * Tags
 * [content lock](https://kin.wordpress.org/plugins/tags/content-lock/)[gutenberg](https://kin.wordpress.org/plugins/tags/gutenberg/)
   [restrict editing](https://kin.wordpress.org/plugins/tags/restrict-editing/)[roles](https://kin.wordpress.org/plugins/tags/roles/)
 *  [Advanced View](https://kin.wordpress.org/plugins/dreamfox-client-edit-mode/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/dreamfox-client-edit-mode/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/dreamfox-client-edit-mode/reviews/)

## Contributors

 *   [ dreamfox ](https://profiles.wordpress.org/dreamfox/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/dreamfox-client-edit-mode/)