OpenClaw skill that provides a WordPress REST API CLI for posts, pages, categories, tags, users, and custom requests using plain HTTP.
Install
Documentation
WordPress REST API Skill (Advanced)
Purpose
Provide a production-ready CLI for WordPress REST API automation. This skill focuses on content workflows (posts/pages), taxonomy (categories/tags), user reads, and safe custom requests without external HTTP libraries.
Best fit
- -You want a stable CLI for automation and bot workflows.
- -You need JSON-in/JSON-out for pipelines.
- -You prefer simple HTTP with no extra dependencies.
Not a fit
- -You must handle OAuth flows or complex browser-based auth.
- -You need advanced media uploads (multipart streaming).
Requirements
- -Node.js 18+ (for native
fetch).
One-time setup
1. Enable the WordPress REST API (default in modern WordPress).
2. Create an Application Password for a WordPress user.
3. Confirm the user has the right role (e.g., Editor/Admin).
Install
cd wordpress
npm install
Run
node scripts/wp-cli.js help
node scripts/wp-cli.js posts:list --query per_page=5
node scripts/wp-cli.js posts:create '@post.json'
You can also use npm:
npm run wp -- posts:list --query per_page=5
Credentials
Supported options (first match wins):
- -Basic auth token:
WP_BASIC_TOKEN(base64 ofuser:app_password) - -User + app password:
WP_USER+WP_APP_PASSWORD - -JWT bearer token:
WP_JWT_TOKEN
Required env
- -
WP_BASE_URL(e.g.,https://example.com)
Input conventions
- -JSON can be inline or loaded from file with
@path. - -Query params use
--query key=value(repeatable) or--query key1=value1,key2=value2.
Command map (high level)
Posts:
- -
posts:list,posts:get,posts:create,posts:update,posts:delete
Pages:
- -
pages:list,pages:get,pages:create,pages:update,pages:delete
Taxonomy:
- -
categories:list,categories:create - -
tags:list,tags:create
Users:
- -
users:list,users:get
Advanced:
- -
request(raw method + path)
Operational guidance
- -Prefer
context=viewfor read-only list calls. - -Use
status=draftwhen staging content. - -Implement retries for
429and transient5xxerrors in orchestrators.
Expected output
- -JSON to stdout; non-zero exit code on errors.
Security notes
- -Never log or commit tokens or application passwords.
- -Use a dedicated low-privilege WordPress account where possible.
Launch an agent with Wordpress REST API on Termo.