# Wordpress Content

Create and manage WordPress posts, pages, media, categories, tags, and menus via WP-CLI...

- Repository: https://github.com/jezweb/claude-skills (1094 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-10-09
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add jezweb/claude-skills --skill wordpress-content -g -a claude-code -y`
Codex: `npx skills add jezweb/claude-skills --skill wordpress-content -g -a codex -y`
Cursor: `npx skills add jezweb/claude-skills --skill wordpress-content -g -a cursor -y`
Gemini CLI: `npx skills add jezweb/claude-skills --skill wordpress-content -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add jezweb/claude-skills`

## Description

Create and manage WordPress posts, pages, media, categories, tags, and menus via WP-CLI or the REST API. Use whenever the user wants to publish a blog post on WordPress, update a page, upload media, manage categories or tags, update navigation menus, schedule posts, or do bulk content operations on a WordPress site.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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.json` or `wp-cli.yml`

## Workflow

### Step 1: Determine the Operation

| Task | Best Method |
|------|-------------|
| Create/edit single post or page | WP-CLI `wp post create/update` |
| Bulk create posts | WP-CLI loop or REST API batch |
| Upload images/media | WP-CLI `wp media import` |
| Manage categories/tags | WP-CLI `wp term` |
| Update navigation menus | WP-CLI `wp menu` |
| Scheduled posts | WP-CLI with `--post_date` |
| Complex HTML content | Write to temp file, pass to WP-CLI |
| No SSH access available | REST API with Application Password |

### Step 2: Create Content

#### Blog Posts

```bash
# Simple post
wp @site post create \
  --post_type=post \
  --post_title="My New Blog Post" \
  --post_content="<p>Post content here.</p>" \
  --post_status=draft \
  --post_category=3,5

# Post from HTML file (better for long content)
wp @site post create ./post-content.html \
  --post_type=post \
  --post_title="My New Blog Post" \
  --post_status=draft \
  --post_excerpt="A brief summary of the post." \
  --post_category=3,5 \
  --tags_input="tag1,tag2"
```

**Post statuses**: `draft`, `publish`, `pending`, `future` (use with `--post_date`)

#### Pages

```bash
wp @site post create \
  --post_type=page \
  --post_title="About Us" \
  --post_content="<h2>Our Story</h2><p>Content here...</p>" \
  --post_status=publish \
  --post_parent=0 \
  --menu_order=10
```

#### Scheduled Posts

```bash
wp @site post create \
  --post_type=post \
  --post_title="Scheduled Post" \
  --post_content="<p>This goes live tomorrow.</p>" \
  --post_status=future \
  --post_date="2026-02-23 09:00:00"
```

### Step 3: Upload Media

The rest: https://github.com/jezweb/claude-skills/blob/HEAD/plugins/wordpress/skills/wordpress-content/SKILL.md
