WordPress Content
Create, update, and manage WordPress content — posts, pages, media, categories, tags, and menus. Produces live content on the site via WP-CLI or the REST API.
Prerequisites
- Working WP-CLI SSH connection or REST API credentials (use wordpress-setup skill)
- Site config from
wordpress.config.jsonorwp-cli.yml
Workflow
Step 1: Determine the Operation
Step 2: Create Content
Blog Posts
Post statuses: draft, publish, pending, future (use with --post_date)
Pages
Scheduled Posts
Step 3: Upload Media
Set featured image on a post:
Step 4: Manage Taxonomy
Categories
Tags
Step 5: Manage Menus
Step 6: Update Existing Content
Step 7: Post Meta and Custom Fields
ACF stores fields with both the field value and a reference key (_field_name -> field_abc123).
Step 8: Search and Replace
Step 9: Export and Import
Step 10: Verify
Provide the admin URL and live URL:
- Admin:
https://example.com/wp-admin/post.php?post={id}&action=edit - Live:
https://example.com/{slug}/
REST API Reference
When WP-CLI is not available, use the WordPress REST API with Application Password auth.
Authentication
Endpoints
All support GET (list/single), POST (create), PUT (update), DELETE.
Create Post via REST
Create Page via REST
Upload Media via REST
Create Category via REST
Query Parameters
Menus: Navigation menus have limited REST API support. The /wp-json/wp/v2/navigation endpoint exists for block-based navigation in FSE themes. For classic menus, use WP-CLI.
Critical Patterns
HTML Content in WP-CLI
For anything beyond a sentence, write HTML to a temp file and pass it:
Shell quoting in --post_content is fragile for complex HTML.
Bulk Operations
For creating many posts, use a loop with verification:
Always create as draft first, review, then bulk-publish.

