by Digitizers
🔧 Manage WordPress sites via REST API — posts, media, Elementor, WooCommerce, ACF, Rank Math. Multi-site support.
# Add to your Claude Code skills
git clone https://github.com/Digitizers/wordpress-api-proGuides for using cli tools skills like wordpress-api-pro.
Last scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T17:06:14.283Z",
"npmAuditRan": true,
"pipAuditRan": true
}wordpress-api-pro is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Digitizers. 🔧 Manage WordPress sites via REST API — posts, media, Elementor, WooCommerce, ACF, Rank Math. Multi-site support. It has 0 GitHub stars.
Yes. wordpress-api-pro passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/Digitizers/wordpress-api-pro" and add it to your Claude Code skills directory (see the Installation section above).
wordpress-api-pro is primarily written in Python. It is open-source under Digitizers on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh wordpress-api-pro against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Based on votes and bookmarks from developers who liked this skill
A production-grade Claude Code & OpenClaw skill for managing WordPress content via the REST API — posts, pages, media, WooCommerce, Elementor, SEO meta, ACF, JetEngine — with explicit safety boundaries for agentic use.
This is not just a tool reference. It is an operational playbook for managing WordPress content responsibly: posts, pages, media, WooCommerce products, Elementor content, SEO metadata, and custom fields — with drafts-first, dry-run, and explicit-approval guardrails on every write.
These are the free skills behind Aura — one AI web-agency lifecycle you can run standalone or orchestrate across a whole client fleet from a single dashboard.
| Stage | Skill | Role |
|---|---|---|
| 🎨 Build | claude-elementor-pro | Design & build sites inside Elementor |
| 🔎 Audit + Content | wordpress-api-pro ← you are here | REST content ops, SEO & site audits |
| 🖥 Host | cloudways-mcp · hostinger-mcp | Provision & operate the infrastructure |
→ Orchestrate all of it across your client fleet with Aura — governed agent ops with approvals and a full audit trail on top of these skills.
This skill can seed content over the WordPress REST API — bulk-create posts, pages, and custom-post-type entries from a JSON dataset. It's the operator-side twin of Aura's content tools; which one to use comes down to who owns the site:
Rule of thumb: seed sites you own; let Aura own content on sites you manage for others.
_elementor_data.wp.sh.The actual skill payload lives in:
wordpress-api-pro/
Repository-only files such as this README, changelog, license, CI, and package metadata intentionally stay outside the skill directory.
ClawHub package directory: wordpress-api-pro/.
Current version: 3.8.2
openclaw skills install wordpress-api-pro
cp -R wordpress-api-pro ~/.openclaw/workspace/skills/wordpress-api-pro
The skill also runs in Claude Code. The installer copies the payload into ~/.claude/skills/ so Claude Code discovers it automatically:
git clone https://github.com/Digitizers/wordpress-api-pro.git
cd wordpress-api-pro
bash INSTALL.sh
Then restart Claude Code, export WP_URL / WP_USERNAME / WP_APP_PASSWORD (or set up config/sites.json), and ask Claude to use it. The ACF / SEO / JetEngine / plugin-detection scripts need requests (pip install requests); the core post/page/media/WooCommerce/batch scripts use the Python stdlib only.
Pairs well with the Elementor MCP kit: build pages with the MCP, then handle media uploads, SEO meta, custom fields, and WooCommerce with these scripts.
1. Copy config template:
cd ~/.openclaw/workspace/skills/wordpress-api-pro
cp config/sites.example.json config/sites.json
chmod 600 config/sites.json
2. Edit config/sites.json:
{
"sites": {
"client-main": {
"url": "https://example.com",
"username": "wp-api-user",
"app_password": "",
"description": "Primary client site"
},
"client-shop": {
"url": "https://shop.example.com",
"username": "wp-api-user",
"app_password": "",
"description": "WooCommerce shop"
}
},
"groups": {
"client": ["client-main", "client-shop"]
}
}
Keep real credentials local only. Do not commit config/sites.json.
3. Use the CLI wrapper:
# List configured sites
./wp.sh --list-sites
# Read a post on a specific site
./wp.sh client-main get-post --id 123
# Update a post after approval
./wp.sh client-main update-post --id 123 --status draft
# Group operation requires explicit group execution flag
./wp.sh client --execute-group update-post --id 456 --status draft
1. Create an Application Password
https://your-site.example/wp-admin/profile.php.2. Set environment variables
export WP_URL="https://your-site.example"
export WP_USERNAME="wp-api-user"
read -rs WP_APP_PASSWORD
export WP_APP_PASSWORD
3. Use the scripts
cd wordpress-api-pro
Update a post:
python3 scripts/update_post.py \
--post-id 123 \
--title "New Title" \
--content "Updated content" \
--status draft
Create a draft:
python3 scripts/create_post.py \
--title "My Post" \
--content "Post content here" \
--status draft
Get a post:
python3 scripts/get_post.py --post-id 123
List posts:
python3 scripts/list_posts.py --per-page 10 --status publish
Dry-run preview is the default:
cd wordpress-api-pro
python3 scripts/batch_update.py \
--group client \
--post-ids 123,456 \
--status draft
Apply only after review:
cd wordpress-api-pro
python3 scripts/batch_update.py \
--group client \
--post-ids 123,456 \
--status draft \
--execute
| Script | Purpose |
|---|---|
update_post.py |
Update an existing post/page |
create_post.py |
Create a new post/page |
get_post.py |
Retrieve a single post/page |
list_posts.py |
List and filter posts/pages |
batch_update.py |
Dry-run-first batch updates across sites/groups |
wp_cli.py |
Multi-site command wrapper backend |
security.py |
Local file and remote URL safety helpers |
| Script | Purpose |
|---|---|
detect_plugins.py |
Auto-detect supported plugins — ACF, Rank Math, Yoast, JetEngine, WooCommerce |
acf_fields.py |
Read/write Advanced Custom Fields |
seo_meta.py |
Read/write Rank Math and Yoast SEO meta |
jetengine_fields.py |
Read/write JetEngine custom fields |
elementor_content.py |
Read/update Elementor page content |
upload_media.py |
Upload local or explicitly approved remote media |
woo_products.py |
Manage WooCommerce products |
Detect supported plugins:
python3 scripts/detect_plugins.py
Get ACF fields:
python3 scripts/acf_fields.py --post-id 123
Set SEO meta:
python3 scripts/seo_meta.py \
--post-id 123 \
--set '{"title":"SEO Title","description":"Meta description"}'
Update JetEngine field:
python3 scripts/jetengine_fields.py \
--post-id 123 \
--field my_field \
--value "New value"
Elementor content:
python3 scripts/elementor_content.py get \
--post-id 123 \
--widget-id some_widget_id
python3 scripts/elementor_content.py update \
--post-id 123 \
--widget-id some_widget_id \
--field title \
--value "New Title"
Media upload:
python3 scripts/upload_media.py \
--file ./media/image.jpg \
--title "My Image" \
--caption "A beautiful image"
Remote media requires explicit opt-in:
python3 scripts/upload_media.py \
--file https://cdn.example.com/image.png \
--allow-remote-url \
--set-featured \
--post-id 123
WooCommerce products:
python3 scripts/woo_products.py list --status publish
python3 scripts/woo_products.py get --id 456
python3 scripts/woo_products.py create --name "New Product" --type simple --regular-price 29.99
py