Skip to content
Development
Skill

/wordpress-elementor

Edit Elementor pages and manage templates on WordPress sites via browser automation (for visual / structural changes) or WP-CLI (for safe text replacements). Use whenever the user wants to edit an Elementor page, update text in Elementor widgets, apply or manage Elementor

From plugin
jezweb-skills
1.1k63 skills57 commands

Claude Code

$ npx -y skills add jezweb/claude-skills --skill wordpress-elementor --agent claude-code

SKILL.md

wordpress-elementor.SKILL.md
name: wordpress-elementor
description: "Edit Elementor pages and manage templates on WordPress sites via browser automation (for visual / structural changes) or WP-CLI (for safe text replacements). Use whenever the user wants to edit an Elementor page, update text in Elementor widgets, apply or manage Elementor templates, or make content changes to pages built with the Elementor page builder."
compatibility: claude-code-only

WordPress Elementor

Edit Elementor pages and manage templates on existing WordPress sites. Produces updated page content via browser automation (for visual/structural changes) or WP-CLI (for safe text replacements).

Prerequisites

  • Working WP-CLI connection or admin access (use **wordpress-setup** skill)
  • Elementor installed and active: `wp @site plugin status elementor`

Workflow

Step 1: Identify the Page

# List Elementor pages
wp @site post list --post_type=page --meta_key=_elementor_edit_mode --meta_value=builder \
  --fields=ID,post_title,post_name,post_status

# Editor URL format: https://example.com/wp-admin/post.php?post={ID}&action=elementor

Step 2: Choose Editing Method

| Change Type | Method | Risk | |-------------|--------|------| | Text content updates | WP-CLI search-replace | Low (with backup) | | Image URL swaps | WP-CLI meta update | Low (with backup) | | Widget styling | Browser automation | None | | Add/remove sections | Browser automation | None | | Layout changes | Browser automation | None | | Template application | Browser automation | None |

**Rule of thumb**: If you're only changing text or URLs within existing widgets, WP-CLI is faster. For anything structural, use the visual editor via browser.

Step 3a: Text Updates via WP-CLI

**Always back up first**:

wp @site post meta get {post_id} _elementor_data > /tmp/elementor-backup-{post_id}.json

**Pre-flight checklist**:

1. Back up the postmeta (above) 2. Dry run the replacement 3. Verify the dry run matches expectations (correct number of replacements) 4. Execute 5. Flush CSS cache 6. Verify visually

**Simple text replacement**:

# Dry run
wp @site search-replace "Old Heading Text" "New Heading Text" wp_postmeta \
  --include-columns=meta_value --dry-run --precise

# Execute (after confirming dry run looks correct)
wp @site search-replace "Old Heading Text" "New Heading Text" wp_postmeta \
  --include-columns=meta_value --precise

**After updating**, clear Elementor's CSS cache:

wp @site elementor flush-css

If the `elementor` WP-CLI command isn't available:

wp @site option delete _elementor_global_css
wp @site post meta delete-all _elementor_css

**What's safe to replace**:

| Safe | Risky | |------|-------| | Headings text | HTML structure | | Paragraph text | Widget IDs | | Button text and URLs | Section/column settings | | Image URLs (same dimensions) | Layout properties | | Phone numbers, emails | CSS classes | | Addresses | Element ordering |

Step 3b: Visual Editing via Browser Automation

For structural changes, use browser automation to interact with Elementor's visual editor.

**Login flow** (skip if already logged in via Chrome MCP):

1. Navigate to `https://example.com/wp-admin/` 2. Enter username and password 3. Click "Log In" 4. Wait for dashboard to load

**Open the editor**:

1. Navigate to `https://example.com/wp-admin/post.php?post={ID}&action=elementor` 2. Wait for Elementor loading overlay to disappear (can take 5-10 seconds) 3. Editor is ready when the left sidebar shows widget panels

**Edit text content**:

1. Click on the text element in the page preview (right panel) 2. The element becomes selected (blue border) 3. The left sidebar shows the element's settings 4. Under "Content" tab, edit the text in the editor field 5. Changes appear live in the preview 6. Click "Update" (green button, bottom left) or Ctrl+S

**Edit heading**:

1. Click the heading in the preview 2. Left sidebar > Content tab > "Title" field 3. Edit the text 4. Optionally adjust: HTML tag (H1-H6), alignment, link 5. Save

**Change image**:

1. Click the image widget in the preview 2. Left sidebar > Content tab > click the image thumbnail 3. Media Library opens 4. Select new image or upload 5. Click "Insert Media" 6. Save

**Edit button**:

1. Click the button in the preview 2. Left sidebar > Content tab: Text (label), Link (URL), Icon (optional) 3. Style tab: colours, typography, border, padding 4. Save

**Using playwright-cli**:

playwright-cli -s=wp-editor open "https://example.com/wp-admin/"
# Login first, then navigate to Elementor editor
playwright-cli -s=wp-editor navigate "https://example.com/wp-admin/post.php?post={ID}&action=elementor"

Or Chrome MCP if using the user's logged-in session.

Step 4: Manage Templates

**List saved templates**:

wp @site post list --post_type=elementor_library --fields=ID,post_title,post_status

**Export a template** (browser):

1. Navigate to: `https://example.com/wp-admin/edit.php?post_type=elementor_library` 2. Hover over the template > "Export Template" 3. Downloads as .json file

**Import a template** (browser):

1. Navigate to: `https://example.com/wp-admin/edit.php?post_type=elementor_library` 2. Click "Import Templates" at the top 3. Choose file > upload .json 4. Template appears in the library

**Apply a template to a new page**:

1. Create the page: `wp @site post create --post_type=page --post_title="New Page" --post_status=draft` 2. Open in Elementor via browser 3. Click the folder icon (Add Template) 4. Select from "My Templates" tab 5. Click "Insert" 6. Customise and save

**Duplicate an existing page via WP-CLI**:

# Get source page's Elementor data
SOURCE_DATA=$(wp @site post meta get {source_id} _elementor_data)
SOURCE_CSS=$(wp @site post meta get {source_id} _elementor_page_settings)

# Create new page
NEW_ID=$(wp @site post create --post_type=page --post_title="Duplicated Page" --post_status=draft --porce
Read more
@jezweb
Ships withjezweb-skills

Production workflow skills for Claude Code. Each skill guides Claude through a recipe to produce tangible output — scaffolded projects, generated assets, professional documents, deployed services. Ten plugins of practical, production-oriented skills.

Stars on GitHub

Momentum

stars in total
1.1k
Star history of jezweb/claude-skills on GitHub, a chart by star-history.com

Other skills on jezweb-skills.

cloudflare-api

cloudflare-api

Hit the Cloudflare REST API directly for operations that wrangler and MCP can't handle well. Bulk DNS, custom hostnames, email…

d1-drizzle-schema

d1-drizzle-schema

Generate Drizzle ORM schemas for Cloudflare D1 databases with correct D1-specific patterns. Produces schema files, migration…

d1-migration

d1-migration

Cloudflare D1 migration workflow: generate with Drizzle, inspect SQL for gotchas, apply to local and remote, fix stuck…

db-seed

db-seed

Generate database seed scripts with realistic sample data. Reads Drizzle schemas or SQL migrations, respects foreign key…

hono-api-scaffolder

hono-api-scaffolder

Scaffold Hono API routes for Cloudflare Workers. Produces route files, middleware, typed bindings, Zod validation, error…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about wordpress-elementor.

Which coding agents can use wordpress-elementor?
wordpress-elementor installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.