Update Display Rules is a WordPress ability from Ultimate Addons for Elementor — usable via Easy MCP AI, which connects Claude, ChatGPT, and any AI assistant to your site.
Install Free Plugin →Update Display Rules
WriteSets include/exclude display locations and user-role targeting for an HFE header/footer/block template.
Requires the Ultimate Addons for Elementor (Header Footer & Elementor) plugin on WordPress 6.9+ (the WP Abilities API). No ability registers unless the plugin's 'Enable AI Tools' master switch (uae_mcp_settings.enable_abilities) is turned on in settings. Most abilities require the 'manage_options' capability; a smaller set of read/discovery abilities (template and page listing, the Elementor builder read/list/schema abilities, active-template lookup, display-rule locations, and design tokens) instead require only 'edit_posts' or 'read'. Abilities that act on a specific page, post, or template additionally check the current user's per-object 'edit_post' (or 'delete_post') capability on that item. Separately, every non-readonly (Write or Destructive) ability is gated behind a site-wide 'Allow Modifications' setting at registration time: if it is off, none of those abilities are even registered with the WP Abilities API, regardless of capability checks — this covers all template/page CRUD, widget/extension toggles, display-rule updates, theme/settings changes, and the Elementor builder writes alike, not just the builder ones. Eight of those abilities (the seven Elementor page-builder writes — build, insert-widget, update-widget, remove-element, move-element, add-section, add-column — plus pages-create) additionally re-check this same setting explicitly inside execute() as a redundant safeguard.
What it does
Requires template_id, validated with validate_template() to confirm the post is an 'elementor-hf' template. If include_locations or exclude_locations are provided, each is sanitized into a {rule, specific} structure and saved as post meta; when only 'specific' targets are given, the code auto-injects the literal 'specifics' token into 'rule' since HFE's native rule parser requires it to read the specific targets. If user_roles is provided, each role is validated against the real list of registered role slugs (plus 'logged-in'/'logged-out'); invalid roles return a 400 WP_Error, otherwise the roles are saved to post meta. This ability merges what used to be separate 'update' and 'set-user-roles' abilities.
See it in action
You ask your AI assistant
"Set this header template to show only on the homepage and blog posts, and restrict it to logged-in users only."
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| template_id | integer | Yes | Template post ID. |
| include_locations | object | No | Include rules: { "rule": ["basic-global", ...], "specific": ["post-123", ...] } |
| exclude_locations | object | No | Exclude rules. Same structure as include_locations. |
| user_roles | array | No | Role slugs: logged-in, logged-out, administrator, editor, author, contributor, subscriber. |
Returns
An object with success (boolean) and template_id (integer).
Permission
Requires current_user_can('manage_options'); execute() additionally gates via validate_template(template_id), which enforces the target post exists and has post_type 'elementor-hf' before any meta is written.
More Ultimate Addons for Elementor abilities
Activate Widget
Enables a specific HFE widget by its slug.
Add Column to Section
Adds a new column to an existing section or container in an Elementor post, redistributing column widths automatically.
Add Section/Container
Adds a new structural layout element (a section with columns on legacy sites, or a flex container on container-mode sites) to an Elementor post.
Build Complete Layout
Builds a complete Elementor layout — sections, columns, and widgets — from a single JSON structure, replacing all existing content on the target post.
Bulk Toggle All Widgets
Activates or deactivates every HFE widget at once.
Clear Elementor Cache
Clears the Elementor CSS cache globally to regenerate all stylesheets.