# WordPress CLI

WordPress resources through the cmdhub CLI.

## Install

```bash
cmdhub get wordpress
```

## Authentication

local_config

## Agent-Readable Catalog

- Machine-readable command catalog: `/cli/wordpress/catalog.json`
- Stable command anchors use the `cmd-...` IDs listed under each command.
- Inspect this catalog before planning tool use for command paths, examples, flags, mutation markers, and dry-run support.

## Overview

```bash
# Inspect auth state and available command schemas
wordpress auth status --json
wordpress schema
```

## CLI Overview

WordPress adapter CLI

Manage WordPress REST content with authenticated Application Password reads and editorial mutations.

Start:
  wordpress auth status
  wordpress auth login --site https://example.com --username editor
  wordpress post list --limit 10
  wordpress post get po1

Safe first command:
  wordpress auth status

Discovery:
  wordpress site configure --url https://example.com
  wordpress route list       # REST discovery after site configure
  wordpress capabilities   # operations inventory
  wordpress schema         # machine input/output schemas

Output modes:
  --json  emits one wrapper/debug payload.
  --jsonl emits pipeable pc.cli.v1 item/meta records.
  wordpress post list --jsonl | wordpress post get

## Generated Coverage

- Command groups: `36`
- Total documented command nodes: `175`
- Live examples: `6`
- Lifecycle surfaces: `auth`, `doctor`, `capabilities`, `schema`, `resolve`, `version`
- Machine-readable output: `--json`, `--jsonl`
- Human views: `summary`, `full`

## Auth Contract

- Auth mode: local_config
- Standard commands: `auth login`, `auth logout`, `auth refresh`, `auth status`, `auth whoami`
- `auth status --json` reports `tool`, `profile`, `provider`, `authenticated`, and `suggested_next_step`.
- `auth whoami --json` is the stable way to answer identity questions.

## Agent Safety Notes

- Discovery commands such as `list`, `search`, `get`, `resolve`, `schema`, `doctor`, `capabilities`, `status`, and `whoami` are the safest commands to run first.
- Treat commands marked as mutating as state-changing local or provider operations.
- Mutating command paths: `wordpress auth login`, `wordpress auth logout`, `wordpress auth refresh`, `wordpress autosave create`, `wordpress block create`, `wordpress block delete`, `wordpress block trash`, `wordpress block update`, `wordpress category create`, `wordpress category delete`, `wordpress category update`, `wordpress comment`, `wordpress comment create`, `wordpress comment delete`, `wordpress comment reply`, `wordpress comment trash`, `wordpress comment update`, `wordpress login`, `wordpress logout`, `wordpress media delete`, `wordpress media update`, `wordpress media upload`, `wordpress menu create`, `wordpress menu delete`, `wordpress menu update`, `wordpress menu-item create`, `wordpress menu-item delete`, `wordpress menu-item update`, `wordpress navigation create`, `wordpress navigation delete`, `wordpress navigation trash`, `wordpress navigation update`, `wordpress page create`, `wordpress page delete`, `wordpress page trash`, `wordpress page update`, `wordpress post create`, `wordpress post delete`, `wordpress post trash`, `wordpress post update`
- Additional mutating commands omitted from this summary: `8`. See `catalog.json`.
- Commands with `--dry-run`: `wordpress application-password revoke`, `wordpress autosave apply`, `wordpress autosave create`, `wordpress block clone`, `wordpress block create`, `wordpress block delete`, `wordpress block publish`, `wordpress block restore`, `wordpress block schedule`, `wordpress block trash`, `wordpress block update`, `wordpress category create`, `wordpress category delete`, `wordpress category update`, `wordpress comment approve`, `wordpress comment create`, `wordpress comment delete`, `wordpress comment hold`, `wordpress comment reply`, `wordpress comment restore`, `wordpress comment spam`, `wordpress comment trash`, `wordpress comment unspam`, `wordpress comment update`, `wordpress media attach`, `wordpress media delete`, `wordpress media detach`, `wordpress media update`, `wordpress media upload`, `wordpress menu create`, `wordpress menu delete`, `wordpress menu update`, `wordpress menu-item create`, `wordpress menu-item delete`, `wordpress menu-item update`, `wordpress navigation clone`, `wordpress navigation create`, `wordpress navigation delete`, `wordpress navigation publish`, `wordpress navigation restore`, `wordpress navigation schedule`, `wordpress navigation trash`, `wordpress navigation update`, `wordpress page clone`, `wordpress page create`, `wordpress page delete`, `wordpress page publish`, `wordpress page restore`, `wordpress page schedule`, `wordpress page trash`, `wordpress page update`, `wordpress post clone`, `wordpress post create`, `wordpress post delete`, `wordpress post publish`, `wordpress post restore`, `wordpress post schedule`, `wordpress post trash`, `wordpress post update`, `wordpress revision delete`, `wordpress revision restore`, `wordpress setting update`, `wordpress tag create`, `wordpress tag delete`, `wordpress tag update`

## Global Flags

- `--json` (bool): Emit one JSON wrapper/debug payload
- `--jsonl` (bool): Emit pipeable pc.cli.v1 JSONL item/meta records
- `--output` (string): Compatibility output mode: json|jsonl. Prefer --json for wrapper/debug or --jsonl for pipes
- `--view` (string): View mode: summary|full Default: `summary`.
- `--profile` (string): Config/auth profile Default: `default`.
- `--config` (string): Config path override
- `--quiet` (bool): Suppress non-essential diagnostics
- `--debug` (bool): Enable debug diagnostics
- `--limit` (int): Maximum items to emit Default: `50`.
- `--page-size` (int): Requested upstream page size Default: `50`.
- `--cursor` (string): Continuation cursor
- `--no-paginate` (bool): Fetch only one page
- `--version` (bool): Print version information

## Command Reference

### `wordpress application-password`

- Anchor: `cmd-wordpress-application-password`
- Mutates state: `no`
- Supports dry run: `no`

Inspect or revoke the current CLI Application Password

#### `wordpress application-password get`

- Anchor: `cmd-wordpress-application-password-get`
- Mutates state: `no`
- Supports dry run: `no`

Inspect current Application Password metadata

Example:

```bash
wordpress application-password get
wordpress application-password get --json
```

Flags:

- `--site` (string): WordPress site URL for this command

#### `wordpress application-password revoke`

- Anchor: `cmd-wordpress-application-password-revoke`
- Mutates state: `no`
- Supports dry run: `yes`

Revoke the current CLI Application Password remotely

Example:

```bash
wordpress application-password revoke --current --confirm
wordpress application-password revoke --help
```

Flags:

- `--confirm` (bool): Confirm remote revoke
- `--current` (bool): Revoke only the current CLI Application Password
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

### `wordpress auth`

- Anchor: `cmd-wordpress-auth`
- Mutates state: `no`
- Supports dry run: `no`

Manage WordPress authentication

#### `wordpress auth login`

- Anchor: `cmd-wordpress-auth-login`
- Mutates state: `yes`
- Supports dry run: `no`

Authenticate with a WordPress Application Password

Authenticate to a WordPress site with a username and Application Password. The Application Password is stored through the shared cmdhub credential backend.

Example:

```bash
printf '%s' "$WORDPRESS_APPLICATION_PASSWORD" | wordpress auth login --site https://example.com --username editor --password-stdin
wordpress auth login --help
wordpress auth login --site https://example.com --username editor
```

Flags:

- `--password-stdin` (bool): read the WordPress Application Password from stdin
- `--site` (string): WordPress site URL, for example https://example.com
- `--username` (string): WordPress username for the Application Password

#### `wordpress auth logout`

- Anchor: `cmd-wordpress-auth-logout`
- Mutates state: `yes`
- Supports dry run: `no`

Remove stored WordPress credentials

Delete the local Application Password for the active profile. This does not revoke it in wp-admin.

Example:

```bash
wordpress auth login --site https://example.com --username editor
wordpress auth logout
wordpress auth logout --help
```

#### `wordpress auth refresh`

- Anchor: `cmd-wordpress-auth-refresh`
- Mutates state: `yes`
- Supports dry run: `no`

Validate stored WordPress credentials

Validate the stored Application Password. WordPress Application Passwords do not issue refresh tokens.

Example:

```bash
wordpress auth refresh
wordpress auth refresh --help
wordpress auth status
```

#### `wordpress auth status`

- Anchor: `cmd-wordpress-auth-status`
- Mutates state: `no`
- Supports dry run: `no`

Show WordPress auth status

Show whether the active profile has a configured WordPress site and a valid stored Application Password.

Example:

```bash
wordpress auth status
wordpress auth status --help
wordpress auth status --json
```

#### `wordpress auth whoami`

- Anchor: `cmd-wordpress-auth-whoami`
- Mutates state: `no`
- Supports dry run: `no`

Show the current WordPress user

Call the WordPress REST API as the current profile and show the authenticated user.

Example:

```bash
wordpress auth whoami
wordpress auth whoami --help
wordpress auth whoami --json
```

### `wordpress autosave`

- Anchor: `cmd-wordpress-autosave`
- Mutates state: `no`
- Supports dry run: `no`

Work with WordPress autosave records

#### `wordpress autosave apply`

- Anchor: `cmd-wordpress-autosave-apply`
- Mutates state: `no`
- Supports dry run: `yes`

Apply a WordPress autosave

Example:

```bash
wordpress autosave apply --help
wordpress autosave apply --post po1 --content-file ./post.md --confirm
```

Flags:

- `--confirm` (bool): Confirm apply
- `--content` (string): Content
- `--content-file` (string): Read content from file or - for stdin
- `--dry-run` (bool): Preview without changing WordPress state
- `--page` (string): Parent page ref or ID
- `--post` (string): Parent post ref or ID
- `--site` (string): WordPress site URL for this command
- `--title` (string): Title

#### `wordpress autosave create`

- Anchor: `cmd-wordpress-autosave-create`
- Mutates state: `yes`
- Supports dry run: `yes`

Create a WordPress autosave

Example:

```bash
wordpress autosave create --help
wordpress autosave create --post po1 --title "cmdhub autosave"
```

Flags:

- `--confirm` (bool): Confirm apply
- `--content` (string): Content
- `--content-file` (string): Read content from file or - for stdin
- `--dry-run` (bool): Preview without changing WordPress state
- `--page` (string): Parent page ref or ID
- `--post` (string): Parent post ref or ID
- `--site` (string): WordPress site URL for this command
- `--title` (string): Title

#### `wordpress autosave get`

- Anchor: `cmd-wordpress-autosave-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress autosave

Example:

```bash
wordpress autosave get
wordpress autosave get as1
```

Flags:

- `--page` (string): Parent page ref or ID
- `--post` (string): Parent post ref or ID
- `--site` (string): WordPress site URL for this command

#### `wordpress autosave list`

- Anchor: `cmd-wordpress-autosave-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress autosave records

Example:

```bash
wordpress autosave list
wordpress autosave list --post po1 --limit 10
```

Flags:

- `--page` (string): Parent page ref or ID
- `--post` (string): Parent post ref or ID
- `--site` (string): WordPress site URL for this command

### `wordpress block`

- Anchor: `cmd-wordpress-block`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress block records

#### `wordpress block clone`

- Anchor: `cmd-wordpress-block-clone`
- Mutates state: `no`
- Supports dry run: `yes`

Clone a WordPress block as a draft

Example:

```bash
wordpress block clone --help
wordpress block clone b1 --title "cmdhub-wordpress copy"
```

Flags:

- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--status` (string): Clone status Default: `draft`.
- `--title` (string): Clone title

#### `wordpress block create`

- Anchor: `cmd-wordpress-block-create`
- Mutates state: `yes`
- Supports dry run: `yes`

Create a WordPress block

Example:

```bash
wordpress block create --help
wordpress block create --title "cmdhub-wordpress draft" --content-file ./post.md --content-format markdown --status draft
wordpress block create --title "cmdhub-wordpress draft" --content-file ./post.md --status draft
```

Flags:

- `--category` (stringArray): Category ref or ID; repeatable
- `--confirm` (bool): Confirm create-time publish or schedule
- `--content` (string): Content body
- `--content-file` (string): Read content from file or - for stdin
- `--content-format` (string): Content format: html, markdown, or plain Default: `html`.
- `--date` (string): Publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--excerpt` (string): Excerpt
- `--excerpt-file` (string): Read excerpt from file or - for stdin
- `--featured-media` (string): Featured media ref or ID
- `--parent` (string): Parent ref or ID
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug
- `--status` (string): WordPress status Default: `draft`.
- `--tag` (stringArray): Tag ref or ID; repeatable
- `--timezone` (string): Date timezone
- `--title` (string): Title
- `--title-file` (string): Read title from file or - for stdin

#### `wordpress block delete`

- Anchor: `cmd-wordpress-block-delete`
- Mutates state: `yes`
- Supports dry run: `yes`

Permanently delete a WordPress block

Example:

```bash
wordpress block delete --help
wordpress block delete b1 --force --confirm
```

Flags:

- `--confirm` (bool): Confirm permanent deletion
- `--dry-run` (bool): Preview without changing WordPress state
- `--force` (bool): Permanently delete instead of trashing
- `--site` (string): WordPress site URL for this command

#### `wordpress block get`

- Anchor: `cmd-wordpress-block-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress block

Example:

```bash
wordpress block get
wordpress block get b1
wordpress block list --jsonl | wordpress block get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress block list`

- Anchor: `cmd-wordpress-block-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress block records

Example:

```bash
wordpress block list
wordpress block list --limit 10
wordpress post get po1
wordpress post list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress block publish`

- Anchor: `cmd-wordpress-block-publish`
- Mutates state: `no`
- Supports dry run: `yes`

Publish a WordPress block

Example:

```bash
wordpress block publish --help
wordpress block publish b1 --confirm
```

Flags:

- `--confirm` (bool): Confirm the status mutation
- `--date` (string): Scheduled publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--timezone` (string): Date timezone

#### `wordpress block restore`

- Anchor: `cmd-wordpress-block-restore`
- Mutates state: `no`
- Supports dry run: `yes`

Restore a trashed WordPress block

Example:

```bash
wordpress block restore --help
wordpress block restore b1 --confirm
```

Flags:

- `--confirm` (bool): Confirm the restore operation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--status` (string): Restored status: draft, pending, private, or publish Default: `draft`.

#### `wordpress block schedule`

- Anchor: `cmd-wordpress-block-schedule`
- Mutates state: `no`
- Supports dry run: `yes`

Schedule a WordPress block

Example:

```bash
wordpress block schedule --help
wordpress block schedule b1 --confirm
wordpress block schedule b1 --date 2026-06-01T09:00:00Z --confirm
```

Flags:

- `--confirm` (bool): Confirm the status mutation
- `--date` (string): Scheduled publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--timezone` (string): Date timezone

#### `wordpress block search`

- Anchor: `cmd-wordpress-block-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress block records

Example:

```bash
wordpress block search
wordpress block search --query "release notes"
wordpress block search --query cmdhub-wordpress
wordpress block search --query onboarding --jsonl | wordpress block get
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--query` (string): Search text
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress block trash`

- Anchor: `cmd-wordpress-block-trash`
- Mutates state: `yes`
- Supports dry run: `yes`

Move a WordPress block to trash

Example:

```bash
wordpress block trash --help
wordpress block trash b1 --confirm
```

Flags:

- `--confirm` (bool): Confirm the trash operation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress block update`

- Anchor: `cmd-wordpress-block-update`
- Mutates state: `yes`
- Supports dry run: `yes`

Update a WordPress block

Example:

```bash
wordpress block update --help
wordpress block update b1 --title "Updated title"
```

Flags:

- `--category` (stringArray): Category ref or ID; repeatable
- `--confirm` (bool): Confirm publishing, scheduling, or trash status changes
- `--content` (string): Content body
- `--content-file` (string): Read content from file or - for stdin
- `--content-format` (string): Content format: html, markdown, or plain Default: `html`.
- `--date` (string): Publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--excerpt` (string): Excerpt
- `--excerpt-file` (string): Read excerpt from file or - for stdin
- `--featured-media` (string): Featured media ref or ID
- `--parent` (string): Parent ref or ID
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug
- `--status` (string): WordPress status
- `--tag` (stringArray): Tag ref or ID; repeatable
- `--timezone` (string): Date timezone
- `--title` (string): Title
- `--title-file` (string): Read title from file or - for stdin

### `wordpress block-type`

- Anchor: `cmd-wordpress-block-type`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress block-type records

#### `wordpress block-type get`

- Anchor: `cmd-wordpress-block-type-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress block-type

Example:

```bash
wordpress block-type get
wordpress block-type get bt1
wordpress block-type list --jsonl | wordpress block-type get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress block-type list`

- Anchor: `cmd-wordpress-block-type-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress block-type records

Example:

```bash
wordpress block-type list
wordpress block-type list --limit 10
wordpress post get po1
wordpress post list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress block-type search`

- Anchor: `cmd-wordpress-block-type-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress block-type records

Example:

```bash
wordpress block-type search
wordpress block-type search --query "release notes"
wordpress block-type search --query cmdhub-wordpress
wordpress block-type search --query onboarding --jsonl | wordpress block-type get
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--query` (string): Search text
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

### `wordpress capabilities`

- Anchor: `cmd-wordpress-capabilities`
- Mutates state: `no`
- Supports dry run: `no`

Describe capabilities

Example:

```bash
wordpress capabilities --help
```

### `wordpress category`

- Anchor: `cmd-wordpress-category`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress category records

#### `wordpress category create`

- Anchor: `cmd-wordpress-category-create`
- Mutates state: `yes`
- Supports dry run: `yes`

Create a WordPress category

Example:

```bash
wordpress category create --help
wordpress category create --name cmdhub-wordpress-demo
```

Flags:

- `--confirm` (bool): Confirm the mutation
- `--description` (string): Description
- `--dry-run` (bool): Preview without changing WordPress state
- `--name` (string): Name
- `--parent` (string): Parent ref or ID
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug

#### `wordpress category delete`

- Anchor: `cmd-wordpress-category-delete`
- Mutates state: `yes`
- Supports dry run: `yes`

Delete a WordPress category

Example:

```bash
wordpress category delete --help
wordpress category delete cat1 --confirm
```

Flags:

- `--confirm` (bool): Confirm deletion
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress category get`

- Anchor: `cmd-wordpress-category-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress category

Example:

```bash
wordpress category get
wordpress category get cat1
wordpress category list --jsonl | wordpress category get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress category list`

- Anchor: `cmd-wordpress-category-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress category records

Example:

```bash
wordpress category list
wordpress category list --limit 10
wordpress post get po1
wordpress post list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress category search`

- Anchor: `cmd-wordpress-category-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress category records

Example:

```bash
wordpress category search
wordpress category search --query "release notes"
wordpress category search --query cmdhub-wordpress
wordpress category search --query onboarding --jsonl | wordpress category get
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--query` (string): Search text
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress category update`

- Anchor: `cmd-wordpress-category-update`
- Mutates state: `yes`
- Supports dry run: `yes`

Update a WordPress category

Example:

```bash
wordpress category update --help
wordpress category update cat1 --title "Updated title"
```

Flags:

- `--description` (string): Description
- `--dry-run` (bool): Preview without changing WordPress state
- `--name` (string): Name
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug

### `wordpress comment`

- Anchor: `cmd-wordpress-comment`
- Mutates state: `yes`
- Supports dry run: `no`

Inspect WordPress comment records

#### `wordpress comment approve`

- Anchor: `cmd-wordpress-comment-approve`
- Mutates state: `no`
- Supports dry run: `yes`

Approve a WordPress comment

Example:

```bash
wordpress comment approve --help
wordpress comment approve cm1 --confirm
```

Flags:

- `--confirm` (bool): Confirm comment moderation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress comment create`

- Anchor: `cmd-wordpress-comment-create`
- Mutates state: `yes`
- Supports dry run: `yes`

Create a WordPress comment

Example:

```bash
wordpress comment create --help
wordpress comment create --post po1 --body "cmdhub-wordpress comment" --confirm
```

Flags:

- `--author-email` (string): Comment author email
- `--author-name` (string): Comment author name
- `--author-url` (string): Comment author URL
- `--body` (string): Comment body
- `--body-file` (string): Read comment body from file or - for stdin
- `--confirm` (bool): Confirm comment creation
- `--dry-run` (bool): Preview without changing WordPress state
- `--post` (string): Post ref or ID
- `--site` (string): WordPress site URL for this command

#### `wordpress comment delete`

- Anchor: `cmd-wordpress-comment-delete`
- Mutates state: `yes`
- Supports dry run: `yes`

Delete a WordPress comment

Example:

```bash
wordpress comment delete --help
wordpress comment delete cm1 --force --confirm
```

Flags:

- `--confirm` (bool): Confirm deletion
- `--dry-run` (bool): Preview without changing WordPress state
- `--force` (bool): Permanently delete instead of trashing
- `--site` (string): WordPress site URL for this command

#### `wordpress comment get`

- Anchor: `cmd-wordpress-comment-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress comment

Example:

```bash
wordpress comment get
wordpress comment get cm1
wordpress comment list --jsonl | wordpress comment get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress comment hold`

- Anchor: `cmd-wordpress-comment-hold`
- Mutates state: `no`
- Supports dry run: `yes`

Hold a WordPress comment

Example:

```bash
wordpress comment hold --help
wordpress comment hold cm1 --confirm
```

Flags:

- `--confirm` (bool): Confirm comment moderation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress comment list`

- Anchor: `cmd-wordpress-comment-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress comment records

Example:

```bash
wordpress comment get cm1
wordpress comment list
wordpress comment list --limit 10
wordpress comment list --post po1 --limit 20
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress comment reply`

- Anchor: `cmd-wordpress-comment-reply`
- Mutates state: `yes`
- Supports dry run: `yes`

Reply a WordPress comment

Example:

```bash
wordpress comment reply --help
wordpress comment reply cm1 --body "Thanks" --confirm
```

Flags:

- `--author-email` (string): Comment author email
- `--author-name` (string): Comment author name
- `--author-url` (string): Comment author URL
- `--body` (string): Comment body
- `--body-file` (string): Read comment body from file or - for stdin
- `--confirm` (bool): Confirm comment creation
- `--dry-run` (bool): Preview without changing WordPress state
- `--post` (string): Post ref or ID
- `--site` (string): WordPress site URL for this command

#### `wordpress comment restore`

- Anchor: `cmd-wordpress-comment-restore`
- Mutates state: `no`
- Supports dry run: `yes`

Restore a WordPress comment

Example:

```bash
wordpress comment restore --help
wordpress comment restore cm1 --confirm
```

Flags:

- `--confirm` (bool): Confirm comment moderation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress comment search`

- Anchor: `cmd-wordpress-comment-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress comment records

Example:

```bash
wordpress comment search
wordpress comment search --query "release notes"
wordpress comment search --query cmdhub-wordpress
wordpress comment search --query onboarding --jsonl | wordpress comment get
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--query` (string): Search text
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress comment spam`

- Anchor: `cmd-wordpress-comment-spam`
- Mutates state: `no`
- Supports dry run: `yes`

Spam a WordPress comment

Example:

```bash
wordpress comment spam --help
wordpress comment spam cm1 --confirm
```

Flags:

- `--confirm` (bool): Confirm comment moderation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress comment trash`

- Anchor: `cmd-wordpress-comment-trash`
- Mutates state: `yes`
- Supports dry run: `yes`

Trash a WordPress comment

Example:

```bash
wordpress comment trash --help
wordpress comment trash cm1 --confirm
```

Flags:

- `--confirm` (bool): Confirm comment moderation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress comment unspam`

- Anchor: `cmd-wordpress-comment-unspam`
- Mutates state: `no`
- Supports dry run: `yes`

Unspam a WordPress comment

Example:

```bash
wordpress comment unspam --help
wordpress comment unspam cm1 --confirm
```

Flags:

- `--confirm` (bool): Confirm comment moderation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress comment update`

- Anchor: `cmd-wordpress-comment-update`
- Mutates state: `yes`
- Supports dry run: `yes`

Update a WordPress comment body

Example:

```bash
wordpress comment update --help
wordpress comment update cm1 --body "Updated cmdhub comment"
```

Flags:

- `--body` (string): Comment body
- `--body-file` (string): Read comment body from file or - for stdin
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

### `wordpress config`

- Anchor: `cmd-wordpress-config`
- Mutates state: `no`
- Supports dry run: `no`

Inspect local configuration

#### `wordpress config explain`

- Anchor: `cmd-wordpress-config-explain`
- Mutates state: `no`
- Supports dry run: `no`

Explain resolved configuration

Example:

```bash
wordpress config explain --help
```

### `wordpress doctor`

- Anchor: `cmd-wordpress-doctor`
- Mutates state: `no`
- Supports dry run: `no`

Run diagnostics

Example:

```bash
wordpress doctor --help
```

### `wordpress login`

- Anchor: `cmd-wordpress-login`
- Mutates state: `yes`
- Supports dry run: `no`

Authenticate with a WordPress Application Password

Authenticate to a WordPress site with a username and Application Password. The Application Password is stored through the shared cmdhub credential backend.

Example:

```bash
printf '%s' "$WORDPRESS_APPLICATION_PASSWORD" | wordpress login --site https://example.com --username editor --password-stdin
wordpress login --site https://example.com --username editor
```

Flags:

- `--password-stdin` (bool): read the WordPress Application Password from stdin
- `--site` (string): WordPress site URL, for example https://example.com
- `--username` (string): WordPress username for the Application Password

### `wordpress logout`

- Anchor: `cmd-wordpress-logout`
- Mutates state: `yes`
- Supports dry run: `no`

Remove stored WordPress credentials

Delete the local Application Password for the active profile. This does not revoke it in wp-admin.

Example:

```bash
wordpress auth login --site https://example.com --username editor
wordpress logout
```

### `wordpress media`

- Anchor: `cmd-wordpress-media`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress media records

#### `wordpress media attach`

- Anchor: `cmd-wordpress-media-attach`
- Mutates state: `no`
- Supports dry run: `yes`

Attach WordPress media

Example:

```bash
wordpress media attach --help
wordpress media attach m1 --post po1
```

Flags:

- `--dry-run` (bool): Preview without changing WordPress state
- `--post` (string): Post ref or ID
- `--site` (string): WordPress site URL for this command

#### `wordpress media delete`

- Anchor: `cmd-wordpress-media-delete`
- Mutates state: `yes`
- Supports dry run: `yes`

Permanently delete a WordPress media

Example:

```bash
wordpress media delete --help
wordpress media delete m1 --force --confirm
```

Flags:

- `--confirm` (bool): Confirm permanent deletion
- `--dry-run` (bool): Preview without changing WordPress state
- `--force` (bool): Permanently delete instead of trashing
- `--site` (string): WordPress site URL for this command

#### `wordpress media detach`

- Anchor: `cmd-wordpress-media-detach`
- Mutates state: `no`
- Supports dry run: `yes`

Detach WordPress media

Example:

```bash
wordpress media detach --help
wordpress media detach m1
```

Flags:

- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress media download`

- Anchor: `cmd-wordpress-media-download`
- Mutates state: `no`
- Supports dry run: `no`

Download WordPress media to a local file

Example:

```bash
wordpress media download --help
wordpress media download m1 --output-file ./image.jpg
wordpress media list --jsonl | wordpress media download --output-file ./image.jpg
```

Flags:

- `--output-file` (string): Local file path to write
- `--site` (string): WordPress site URL for this command

#### `wordpress media get`

- Anchor: `cmd-wordpress-media-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress media

Example:

```bash
wordpress media get
wordpress media get m1
wordpress media list --jsonl | wordpress media get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress media list`

- Anchor: `cmd-wordpress-media-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress media records

Example:

```bash
wordpress media download m1 --output-file ./image.jpg
wordpress media list
wordpress media list --limit 10
wordpress media list --mime-type image/jpeg
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress media search`

- Anchor: `cmd-wordpress-media-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress media records

Example:

```bash
wordpress media search
wordpress media search --query "release notes"
wordpress media search --query cmdhub-wordpress
wordpress media search --query onboarding --jsonl | wordpress media get
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--query` (string): Search text
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress media update`

- Anchor: `cmd-wordpress-media-update`
- Mutates state: `yes`
- Supports dry run: `yes`

Update WordPress media metadata

Example:

```bash
wordpress media update --help
wordpress media update m1 --alt-text "Updated alt text"
```

Flags:

- `--alt-text` (string): Media alt text
- `--caption` (string): Media caption
- `--description` (string): Media description
- `--dry-run` (bool): Preview without changing WordPress state
- `--post` (string): Attach to post ref or ID
- `--site` (string): WordPress site URL for this command
- `--title` (string): Media title

#### `wordpress media upload`

- Anchor: `cmd-wordpress-media-upload`
- Mutates state: `yes`
- Supports dry run: `yes`

Upload media to WordPress

Example:

```bash
wordpress media upload --help
wordpress media upload ./hero.jpg --alt-text "Product hero screenshot"
wordpress media upload ./hero.jpg --title "Hero image" --alt-text "Product hero screenshot"
```

Flags:

- `--alt-text` (string): Media alt text
- `--caption` (string): Media caption
- `--description` (string): Media description
- `--dry-run` (bool): Preview without uploading
- `--file` (string): Local media file path
- `--post` (string): Attach to post ref or ID after upload
- `--site` (string): WordPress site URL for this command
- `--title` (string): Media title

### `wordpress menu`

- Anchor: `cmd-wordpress-menu`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress menu records

#### `wordpress menu create`

- Anchor: `cmd-wordpress-menu-create`
- Mutates state: `yes`
- Supports dry run: `yes`

Create a WordPress menu

Example:

```bash
wordpress menu create --help
wordpress menu create --name cmdhub-wordpress-demo
```

Flags:

- `--confirm` (bool): Confirm the mutation
- `--description` (string): Description
- `--dry-run` (bool): Preview without changing WordPress state
- `--name` (string): Name
- `--parent` (string): Parent ref or ID
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug

#### `wordpress menu delete`

- Anchor: `cmd-wordpress-menu-delete`
- Mutates state: `yes`
- Supports dry run: `yes`

Delete a WordPress menu

Example:

```bash
wordpress menu delete --help
wordpress menu delete mn1 --confirm
```

Flags:

- `--confirm` (bool): Confirm deletion
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress menu get`

- Anchor: `cmd-wordpress-menu-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress menu

Example:

```bash
wordpress menu get
wordpress menu get mn1
wordpress menu list --jsonl | wordpress menu get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress menu list`

- Anchor: `cmd-wordpress-menu-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress menu records

Example:

```bash
wordpress menu list
wordpress menu list --limit 10
wordpress post get po1
wordpress post list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress menu search`

- Anchor: `cmd-wordpress-menu-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress menu records

Example:

```bash
wordpress menu search
wordpress menu search --query "release notes"
wordpress menu search --query cmdhub-wordpress
wordpress menu search --query onboarding --jsonl | wordpress menu get
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--query` (string): Search text
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress menu update`

- Anchor: `cmd-wordpress-menu-update`
- Mutates state: `yes`
- Supports dry run: `yes`

Update a WordPress menu

Example:

```bash
wordpress menu update --help
wordpress menu update mn1 --title "Updated title"
```

Flags:

- `--description` (string): Description
- `--dry-run` (bool): Preview without changing WordPress state
- `--name` (string): Name
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug

### `wordpress menu-item`

- Anchor: `cmd-wordpress-menu-item`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress menu-item records

#### `wordpress menu-item create`

- Anchor: `cmd-wordpress-menu-item-create`
- Mutates state: `yes`
- Supports dry run: `yes`

Create a WordPress menu-item

Example:

```bash
wordpress menu-item create --help
wordpress menu-item create --name cmdhub-wordpress-demo
```

Flags:

- `--confirm` (bool): Confirm the mutation
- `--description` (string): Description
- `--dry-run` (bool): Preview without changing WordPress state
- `--name` (string): Name
- `--parent` (string): Parent ref or ID
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug

#### `wordpress menu-item delete`

- Anchor: `cmd-wordpress-menu-item-delete`
- Mutates state: `yes`
- Supports dry run: `yes`

Delete a WordPress menu-item

Example:

```bash
wordpress menu-item delete --help
wordpress menu-item delete mi1 --confirm
```

Flags:

- `--confirm` (bool): Confirm deletion
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress menu-item get`

- Anchor: `cmd-wordpress-menu-item-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress menu-item

Example:

```bash
wordpress menu-item get
wordpress menu-item get mi1
wordpress menu-item list --jsonl | wordpress menu-item get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress menu-item list`

- Anchor: `cmd-wordpress-menu-item-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress menu-item records

Example:

```bash
wordpress menu-item list
wordpress menu-item list --limit 10
wordpress post get po1
wordpress post list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress menu-item search`

- Anchor: `cmd-wordpress-menu-item-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress menu-item records

Example:

```bash
wordpress menu-item search
wordpress menu-item search --query "release notes"
wordpress menu-item search --query cmdhub-wordpress
wordpress menu-item search --query onboarding --jsonl | wordpress menu-item get
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--query` (string): Search text
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress menu-item update`

- Anchor: `cmd-wordpress-menu-item-update`
- Mutates state: `yes`
- Supports dry run: `yes`

Update a WordPress menu-item

Example:

```bash
wordpress menu-item update --help
wordpress menu-item update mi1 --title "Updated title"
```

Flags:

- `--description` (string): Description
- `--dry-run` (bool): Preview without changing WordPress state
- `--name` (string): Name
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug

### `wordpress navigation`

- Anchor: `cmd-wordpress-navigation`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress navigation records

#### `wordpress navigation clone`

- Anchor: `cmd-wordpress-navigation-clone`
- Mutates state: `no`
- Supports dry run: `yes`

Clone a WordPress navigation as a draft

Example:

```bash
wordpress navigation clone --help
wordpress navigation clone nav1 --title "cmdhub-wordpress copy"
```

Flags:

- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--status` (string): Clone status Default: `draft`.
- `--title` (string): Clone title

#### `wordpress navigation create`

- Anchor: `cmd-wordpress-navigation-create`
- Mutates state: `yes`
- Supports dry run: `yes`

Create a WordPress navigation

Example:

```bash
wordpress navigation create --help
wordpress navigation create --title "cmdhub-wordpress draft" --content-file ./post.md --content-format markdown --status draft
wordpress navigation create --title "cmdhub-wordpress draft" --content-file ./post.md --status draft
```

Flags:

- `--category` (stringArray): Category ref or ID; repeatable
- `--confirm` (bool): Confirm create-time publish or schedule
- `--content` (string): Content body
- `--content-file` (string): Read content from file or - for stdin
- `--content-format` (string): Content format: html, markdown, or plain Default: `html`.
- `--date` (string): Publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--excerpt` (string): Excerpt
- `--excerpt-file` (string): Read excerpt from file or - for stdin
- `--featured-media` (string): Featured media ref or ID
- `--parent` (string): Parent ref or ID
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug
- `--status` (string): WordPress status Default: `draft`.
- `--tag` (stringArray): Tag ref or ID; repeatable
- `--timezone` (string): Date timezone
- `--title` (string): Title
- `--title-file` (string): Read title from file or - for stdin

#### `wordpress navigation delete`

- Anchor: `cmd-wordpress-navigation-delete`
- Mutates state: `yes`
- Supports dry run: `yes`

Permanently delete a WordPress navigation

Example:

```bash
wordpress navigation delete --help
wordpress navigation delete nav1 --force --confirm
```

Flags:

- `--confirm` (bool): Confirm permanent deletion
- `--dry-run` (bool): Preview without changing WordPress state
- `--force` (bool): Permanently delete instead of trashing
- `--site` (string): WordPress site URL for this command

#### `wordpress navigation get`

- Anchor: `cmd-wordpress-navigation-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress navigation

Example:

```bash
wordpress navigation get
wordpress navigation get nav1
wordpress navigation list --jsonl | wordpress navigation get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress navigation list`

- Anchor: `cmd-wordpress-navigation-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress navigation records

Example:

```bash
wordpress navigation list
wordpress navigation list --limit 10
wordpress post get po1
wordpress post list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress navigation publish`

- Anchor: `cmd-wordpress-navigation-publish`
- Mutates state: `no`
- Supports dry run: `yes`

Publish a WordPress navigation

Example:

```bash
wordpress navigation publish --help
wordpress navigation publish nav1 --confirm
```

Flags:

- `--confirm` (bool): Confirm the status mutation
- `--date` (string): Scheduled publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--timezone` (string): Date timezone

#### `wordpress navigation restore`

- Anchor: `cmd-wordpress-navigation-restore`
- Mutates state: `no`
- Supports dry run: `yes`

Restore a trashed WordPress navigation

Example:

```bash
wordpress navigation restore --help
wordpress navigation restore nav1 --confirm
```

Flags:

- `--confirm` (bool): Confirm the restore operation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--status` (string): Restored status: draft, pending, private, or publish Default: `draft`.

#### `wordpress navigation schedule`

- Anchor: `cmd-wordpress-navigation-schedule`
- Mutates state: `no`
- Supports dry run: `yes`

Schedule a WordPress navigation

Example:

```bash
wordpress navigation schedule --help
wordpress navigation schedule nav1 --confirm
wordpress navigation schedule nav1 --date 2026-06-01T09:00:00Z --confirm
```

Flags:

- `--confirm` (bool): Confirm the status mutation
- `--date` (string): Scheduled publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--timezone` (string): Date timezone

#### `wordpress navigation search`

- Anchor: `cmd-wordpress-navigation-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress navigation records

Example:

```bash
wordpress navigation search
wordpress navigation search --query "release notes"
wordpress navigation search --query cmdhub-wordpress
wordpress navigation search --query onboarding --jsonl | wordpress navigation get
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--query` (string): Search text
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress navigation trash`

- Anchor: `cmd-wordpress-navigation-trash`
- Mutates state: `yes`
- Supports dry run: `yes`

Move a WordPress navigation to trash

Example:

```bash
wordpress navigation trash --help
wordpress navigation trash nav1 --confirm
```

Flags:

- `--confirm` (bool): Confirm the trash operation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress navigation update`

- Anchor: `cmd-wordpress-navigation-update`
- Mutates state: `yes`
- Supports dry run: `yes`

Update a WordPress navigation

Example:

```bash
wordpress navigation update --help
wordpress navigation update nav1 --title "Updated title"
```

Flags:

- `--category` (stringArray): Category ref or ID; repeatable
- `--confirm` (bool): Confirm publishing, scheduling, or trash status changes
- `--content` (string): Content body
- `--content-file` (string): Read content from file or - for stdin
- `--content-format` (string): Content format: html, markdown, or plain Default: `html`.
- `--date` (string): Publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--excerpt` (string): Excerpt
- `--excerpt-file` (string): Read excerpt from file or - for stdin
- `--featured-media` (string): Featured media ref or ID
- `--parent` (string): Parent ref or ID
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug
- `--status` (string): WordPress status
- `--tag` (stringArray): Tag ref or ID; repeatable
- `--timezone` (string): Date timezone
- `--title` (string): Title
- `--title-file` (string): Read title from file or - for stdin

### `wordpress page`

- Anchor: `cmd-wordpress-page`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress page records

#### `wordpress page clone`

- Anchor: `cmd-wordpress-page-clone`
- Mutates state: `no`
- Supports dry run: `yes`

Clone a WordPress page as a draft

Example:

```bash
wordpress page clone --help
wordpress page clone pg1 --title "cmdhub-wordpress copy"
```

Flags:

- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--status` (string): Clone status Default: `draft`.
- `--title` (string): Clone title

#### `wordpress page create`

- Anchor: `cmd-wordpress-page-create`
- Mutates state: `yes`
- Supports dry run: `yes`

Create a WordPress page

Example:

```bash
wordpress page create --help
wordpress page create --title "cmdhub-wordpress draft" --content-file ./post.md --content-format markdown --status draft
wordpress page create --title "cmdhub-wordpress draft" --content-file ./post.md --status draft
```

Flags:

- `--category` (stringArray): Category ref or ID; repeatable
- `--confirm` (bool): Confirm create-time publish or schedule
- `--content` (string): Content body
- `--content-file` (string): Read content from file or - for stdin
- `--content-format` (string): Content format: html, markdown, or plain Default: `html`.
- `--date` (string): Publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--excerpt` (string): Excerpt
- `--excerpt-file` (string): Read excerpt from file or - for stdin
- `--featured-media` (string): Featured media ref or ID
- `--parent` (string): Parent ref or ID
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug
- `--status` (string): WordPress status Default: `draft`.
- `--tag` (stringArray): Tag ref or ID; repeatable
- `--timezone` (string): Date timezone
- `--title` (string): Title
- `--title-file` (string): Read title from file or - for stdin

#### `wordpress page delete`

- Anchor: `cmd-wordpress-page-delete`
- Mutates state: `yes`
- Supports dry run: `yes`

Permanently delete a WordPress page

Example:

```bash
wordpress page delete --help
wordpress page delete pg1 --force --confirm
```

Flags:

- `--confirm` (bool): Confirm permanent deletion
- `--dry-run` (bool): Preview without changing WordPress state
- `--force` (bool): Permanently delete instead of trashing
- `--site` (string): WordPress site URL for this command

#### `wordpress page get`

- Anchor: `cmd-wordpress-page-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress page

Example:

```bash
wordpress page get
wordpress page get pg1
wordpress page list --jsonl | wordpress page get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress page list`

- Anchor: `cmd-wordpress-page-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress page records

Example:

```bash
wordpress page get pg1 --view full
wordpress page list
wordpress page list --limit 10
wordpress page list --parent 0 --limit 20
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress page publish`

- Anchor: `cmd-wordpress-page-publish`
- Mutates state: `no`
- Supports dry run: `yes`

Publish a WordPress page

Example:

```bash
wordpress page publish --help
wordpress page publish pg1 --confirm
```

Flags:

- `--confirm` (bool): Confirm the status mutation
- `--date` (string): Scheduled publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--timezone` (string): Date timezone

#### `wordpress page restore`

- Anchor: `cmd-wordpress-page-restore`
- Mutates state: `no`
- Supports dry run: `yes`

Restore a trashed WordPress page

Example:

```bash
wordpress page restore --help
wordpress page restore pg1 --confirm
```

Flags:

- `--confirm` (bool): Confirm the restore operation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--status` (string): Restored status: draft, pending, private, or publish Default: `draft`.

#### `wordpress page schedule`

- Anchor: `cmd-wordpress-page-schedule`
- Mutates state: `no`
- Supports dry run: `yes`

Schedule a WordPress page

Example:

```bash
wordpress page schedule --help
wordpress page schedule pg1 --confirm
wordpress page schedule pg1 --date 2026-06-01T09:00:00Z --confirm
```

Flags:

- `--confirm` (bool): Confirm the status mutation
- `--date` (string): Scheduled publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--timezone` (string): Date timezone

#### `wordpress page search`

- Anchor: `cmd-wordpress-page-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress page records

Example:

```bash
wordpress page search
wordpress page search --query "release notes"
wordpress page search --query cmdhub-wordpress
wordpress page search --query onboarding --jsonl | wordpress page get
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--query` (string): Search text
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress page trash`

- Anchor: `cmd-wordpress-page-trash`
- Mutates state: `yes`
- Supports dry run: `yes`

Move a WordPress page to trash

Example:

```bash
wordpress page trash --help
wordpress page trash pg1 --confirm
```

Flags:

- `--confirm` (bool): Confirm the trash operation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress page update`

- Anchor: `cmd-wordpress-page-update`
- Mutates state: `yes`
- Supports dry run: `yes`

Update a WordPress page

Example:

```bash
wordpress page update --help
wordpress page update pg1 --title "Updated title"
```

Flags:

- `--category` (stringArray): Category ref or ID; repeatable
- `--confirm` (bool): Confirm publishing, scheduling, or trash status changes
- `--content` (string): Content body
- `--content-file` (string): Read content from file or - for stdin
- `--content-format` (string): Content format: html, markdown, or plain Default: `html`.
- `--date` (string): Publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--excerpt` (string): Excerpt
- `--excerpt-file` (string): Read excerpt from file or - for stdin
- `--featured-media` (string): Featured media ref or ID
- `--parent` (string): Parent ref or ID
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug
- `--status` (string): WordPress status
- `--tag` (stringArray): Tag ref or ID; repeatable
- `--timezone` (string): Date timezone
- `--title` (string): Title
- `--title-file` (string): Read title from file or - for stdin

### `wordpress plugin`

- Anchor: `cmd-wordpress-plugin`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress plugin records

#### `wordpress plugin get`

- Anchor: `cmd-wordpress-plugin-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress plugin

Example:

```bash
wordpress plugin get
wordpress plugin get pl1
wordpress plugin list --jsonl | wordpress plugin get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress plugin list`

- Anchor: `cmd-wordpress-plugin-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress plugin records

Example:

```bash
wordpress plugin list
wordpress plugin list --limit 10
wordpress post get po1
wordpress post list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

### `wordpress post`

- Anchor: `cmd-wordpress-post`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress post records

#### `wordpress post clone`

- Anchor: `cmd-wordpress-post-clone`
- Mutates state: `no`
- Supports dry run: `yes`

Clone a WordPress post as a draft

Example:

```bash
wordpress post clone --help
wordpress post clone po1 --title "cmdhub-wordpress copy"
```

Flags:

- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--status` (string): Clone status Default: `draft`.
- `--title` (string): Clone title

#### `wordpress post create`

- Anchor: `cmd-wordpress-post-create`
- Mutates state: `yes`
- Supports dry run: `yes`

Create a WordPress post

Example:

```bash
wordpress post create --help
wordpress post create --title "cmdhub-wordpress draft" --content-file ./post.md --content-format markdown --status draft
wordpress post create --title "cmdhub-wordpress draft" --content-file ./post.md --status draft
```

Flags:

- `--category` (stringArray): Category ref or ID; repeatable
- `--confirm` (bool): Confirm create-time publish or schedule
- `--content` (string): Content body
- `--content-file` (string): Read content from file or - for stdin
- `--content-format` (string): Content format: html, markdown, or plain Default: `html`.
- `--date` (string): Publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--excerpt` (string): Excerpt
- `--excerpt-file` (string): Read excerpt from file or - for stdin
- `--featured-media` (string): Featured media ref or ID
- `--parent` (string): Parent ref or ID
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug
- `--status` (string): WordPress status Default: `draft`.
- `--tag` (stringArray): Tag ref or ID; repeatable
- `--timezone` (string): Date timezone
- `--title` (string): Title
- `--title-file` (string): Read title from file or - for stdin

#### `wordpress post delete`

- Anchor: `cmd-wordpress-post-delete`
- Mutates state: `yes`
- Supports dry run: `yes`

Permanently delete a WordPress post

Example:

```bash
wordpress post delete --help
wordpress post delete po1 --force --confirm
```

Flags:

- `--confirm` (bool): Confirm permanent deletion
- `--dry-run` (bool): Preview without changing WordPress state
- `--force` (bool): Permanently delete instead of trashing
- `--site` (string): WordPress site URL for this command

#### `wordpress post get`

- Anchor: `cmd-wordpress-post-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress post

Example:

```bash
wordpress post get
wordpress post get po1
wordpress post list --jsonl | wordpress post get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress post list`

- Anchor: `cmd-wordpress-post-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress post records

Example:

```bash
wordpress post get po1
wordpress post list
wordpress post list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress post publish`

- Anchor: `cmd-wordpress-post-publish`
- Mutates state: `no`
- Supports dry run: `yes`

Publish a WordPress post

Example:

```bash
wordpress post publish --help
wordpress post publish po1 --confirm
```

Flags:

- `--confirm` (bool): Confirm the status mutation
- `--date` (string): Scheduled publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--timezone` (string): Date timezone

#### `wordpress post restore`

- Anchor: `cmd-wordpress-post-restore`
- Mutates state: `no`
- Supports dry run: `yes`

Restore a trashed WordPress post

Example:

```bash
wordpress post restore --help
wordpress post restore po1 --confirm
```

Flags:

- `--confirm` (bool): Confirm the restore operation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--status` (string): Restored status: draft, pending, private, or publish Default: `draft`.

#### `wordpress post schedule`

- Anchor: `cmd-wordpress-post-schedule`
- Mutates state: `no`
- Supports dry run: `yes`

Schedule a WordPress post

Example:

```bash
wordpress post schedule --help
wordpress post schedule po1 --confirm
wordpress post schedule po1 --date 2026-06-01T09:00:00Z --confirm
```

Flags:

- `--confirm` (bool): Confirm the status mutation
- `--date` (string): Scheduled publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command
- `--timezone` (string): Date timezone

#### `wordpress post search`

- Anchor: `cmd-wordpress-post-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress post records

Example:

```bash
wordpress post search
wordpress post search --query "release notes"
wordpress post search --query cmdhub-wordpress
wordpress post search --query onboarding --jsonl | wordpress post get
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--query` (string): Search text
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress post trash`

- Anchor: `cmd-wordpress-post-trash`
- Mutates state: `yes`
- Supports dry run: `yes`

Move a WordPress post to trash

Example:

```bash
wordpress post trash --help
wordpress post trash po1 --confirm
```

Flags:

- `--confirm` (bool): Confirm the trash operation
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress post update`

- Anchor: `cmd-wordpress-post-update`
- Mutates state: `yes`
- Supports dry run: `yes`

Update a WordPress post

Example:

```bash
wordpress post update --help
wordpress post update po1 --title "Updated title"
```

Flags:

- `--category` (stringArray): Category ref or ID; repeatable
- `--confirm` (bool): Confirm publishing, scheduling, or trash status changes
- `--content` (string): Content body
- `--content-file` (string): Read content from file or - for stdin
- `--content-format` (string): Content format: html, markdown, or plain Default: `html`.
- `--date` (string): Publish date
- `--dry-run` (bool): Preview without changing WordPress state
- `--excerpt` (string): Excerpt
- `--excerpt-file` (string): Read excerpt from file or - for stdin
- `--featured-media` (string): Featured media ref or ID
- `--parent` (string): Parent ref or ID
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug
- `--status` (string): WordPress status
- `--tag` (stringArray): Tag ref or ID; repeatable
- `--timezone` (string): Date timezone
- `--title` (string): Title
- `--title-file` (string): Read title from file or - for stdin

### `wordpress profile`

- Anchor: `cmd-wordpress-profile`
- Mutates state: `no`
- Supports dry run: `no`

Manage provider profiles

#### `wordpress profile create`

- Anchor: `cmd-wordpress-profile-create`
- Mutates state: `yes`
- Supports dry run: `no`

Create an unauthenticated provider profile

Example:

```bash
wordpress profile create --help
```

#### `wordpress profile delete`

- Anchor: `cmd-wordpress-profile-delete`
- Mutates state: `yes`
- Supports dry run: `no`

Delete a local provider profile

Example:

```bash
wordpress profile delete --help
```

#### `wordpress profile list`

- Anchor: `cmd-wordpress-profile-list`
- Mutates state: `no`
- Supports dry run: `no`

List provider profiles

Example:

```bash
wordpress profile list --help
```

#### `wordpress profile rename`

- Anchor: `cmd-wordpress-profile-rename`
- Mutates state: `no`
- Supports dry run: `no`

Rename a local provider profile

Example:

```bash
wordpress profile rename --help
```

#### `wordpress profile use`

- Anchor: `cmd-wordpress-profile-use`
- Mutates state: `yes`
- Supports dry run: `no`

Set the default provider profile

Example:

```bash
wordpress profile use --help
```

### `wordpress resolve`

- Anchor: `cmd-wordpress-resolve`
- Mutates state: `no`
- Supports dry run: `no`

Resolve a local ref, short id, or URL alias

Example:

```bash
wordpress resolve --help
wordpress resolve <ref>
```

### `wordpress revision`

- Anchor: `cmd-wordpress-revision`
- Mutates state: `no`
- Supports dry run: `no`

Work with WordPress revision records

#### `wordpress revision delete`

- Anchor: `cmd-wordpress-revision-delete`
- Mutates state: `yes`
- Supports dry run: `yes`

Delete a WordPress revision

Example:

```bash
wordpress revision delete --help
wordpress revision delete rv1 --force --confirm
```

Flags:

- `--confirm` (bool): Confirm deletion
- `--dry-run` (bool): Preview without changing WordPress state
- `--force` (bool): Force delete Default: `true`.
- `--page` (string): Parent page ref or ID
- `--post` (string): Parent post ref or ID
- `--site` (string): WordPress site URL for this command

#### `wordpress revision get`

- Anchor: `cmd-wordpress-revision-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress revision

Example:

```bash
wordpress revision get
wordpress revision get rv1
```

Flags:

- `--page` (string): Parent page ref or ID
- `--post` (string): Parent post ref or ID
- `--site` (string): WordPress site URL for this command

#### `wordpress revision list`

- Anchor: `cmd-wordpress-revision-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress revision records

Example:

```bash
wordpress revision list
wordpress revision list --post po1 --limit 10
```

Flags:

- `--page` (string): Parent page ref or ID
- `--post` (string): Parent post ref or ID
- `--site` (string): WordPress site URL for this command

#### `wordpress revision restore`

- Anchor: `cmd-wordpress-revision-restore`
- Mutates state: `no`
- Supports dry run: `yes`

Restore selected fields from a WordPress revision

Example:

```bash
wordpress revision restore --help
wordpress revision restore rv1 --fields title,content --confirm
```

Flags:

- `--confirm` (bool): Confirm revision restore
- `--dry-run` (bool): Preview without changing WordPress state
- `--fields` (string): Comma-separated fields: title,content,excerpt
- `--page` (string): Parent page ref or ID
- `--post` (string): Parent post ref or ID
- `--site` (string): WordPress site URL for this command

### `wordpress route`

- Anchor: `cmd-wordpress-route`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress REST routes

#### `wordpress route get`

- Anchor: `cmd-wordpress-route-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress REST route

Example:

```bash
wordpress route get
wordpress route get /wp/v2/posts
wordpress route get rt1
```

Flags:

- `--site` (string): WordPress site URL for this command

#### `wordpress route list`

- Anchor: `cmd-wordpress-route-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress REST routes

Example:

```bash
wordpress route list
wordpress route list --site https://example.com
```

Flags:

- `--site` (string): WordPress site URL for this command

### `wordpress schema`

- Anchor: `cmd-wordpress-schema`
- Mutates state: `no`
- Supports dry run: `no`

Emit schema hints

Show command-level input and output schemas.

Schema references use resource.action shape, such as post.list or profile.create.

Use schema for the machine contract. Use capabilities for the operations
inventory and --help for human onboarding.

Output modes:
  --json  emits one wrapper/debug payload.
  --jsonl emits pipeable pc.cli.v1 item/meta records.

Example:

```bash
wordpress schema
wordpress schema --help
wordpress schema post.list --out
wordpress schema profile.create --in
```

Flags:

- `--in` (bool): Show input schema
- `--input` (bool): Show input schema
- `--out` (bool): Show output schema

### `wordpress search`

- Anchor: `cmd-wordpress-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress content

#### `wordpress search query`

- Anchor: `cmd-wordpress-search-query`
- Mutates state: `no`
- Supports dry run: `no`

Query the WordPress search endpoint

Example:

```bash
wordpress search query
wordpress search query --query onboarding
wordpress search query --query onboarding --subtype post,page
```

Flags:

- `--query` (string): Search text
- `--search` (string): Search text
- `--site` (string): WordPress site URL for this command
- `--subtype` (string): Comma-separated WordPress search subtypes
- `--type` (string): WordPress search type

### `wordpress setting`

- Anchor: `cmd-wordpress-setting`
- Mutates state: `no`
- Supports dry run: `no`

Inspect and update allowlisted WordPress settings

#### `wordpress setting get`

- Anchor: `cmd-wordpress-setting-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress setting

Example:

```bash
wordpress setting get
wordpress setting get set1
```

Flags:

- `--site` (string): WordPress site URL for this command

#### `wordpress setting list`

- Anchor: `cmd-wordpress-setting-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress settings

Example:

```bash
wordpress setting list
wordpress setting list --limit 20
```

Flags:

- `--site` (string): WordPress site URL for this command

#### `wordpress setting update`

- Anchor: `cmd-wordpress-setting-update`
- Mutates state: `yes`
- Supports dry run: `yes`

Update an allowlisted WordPress setting

Example:

```bash
wordpress setting update --help
wordpress setting update --name title --value "Cmdhub Test Site" --dry-run
```

Flags:

- `--confirm` (bool): Confirm setting update
- `--dry-run` (bool): Preview without changing WordPress state
- `--name` (string): Allowlisted setting name
- `--site` (string): WordPress site URL for this command
- `--value` (string): Setting value

### `wordpress site`

- Anchor: `cmd-wordpress-site`
- Mutates state: `no`
- Supports dry run: `no`

Inspect and configure the active WordPress site

#### `wordpress site configure`

- Anchor: `cmd-wordpress-site-configure`
- Mutates state: `no`
- Supports dry run: `no`

Configure a local WordPress site profile

Example:

```bash
wordpress site configure --help
wordpress site configure --url https://example.com
```

Flags:

- `--url` (string): WordPress site URL, for example https://example.com

#### `wordpress site get`

- Anchor: `cmd-wordpress-site-get`
- Mutates state: `no`
- Supports dry run: `no`

Inspect the configured WordPress REST site

Example:

```bash
wordpress site get
wordpress site get --site https://example.com
```

Flags:

- `--site` (string): WordPress site URL for this command

### `wordpress status`

- Anchor: `cmd-wordpress-status`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress status records

#### `wordpress status get`

- Anchor: `cmd-wordpress-status-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress status

Example:

```bash
wordpress status get
wordpress status get st1
wordpress status list --jsonl | wordpress status get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress status list`

- Anchor: `cmd-wordpress-status-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress status records

Example:

```bash
wordpress post get po1
wordpress post list --limit 10
wordpress status list
wordpress status list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

### `wordpress tag`

- Anchor: `cmd-wordpress-tag`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress tag records

#### `wordpress tag create`

- Anchor: `cmd-wordpress-tag-create`
- Mutates state: `yes`
- Supports dry run: `yes`

Create a WordPress tag

Example:

```bash
wordpress tag create --help
wordpress tag create --name cmdhub-wordpress-demo
```

Flags:

- `--confirm` (bool): Confirm the mutation
- `--description` (string): Description
- `--dry-run` (bool): Preview without changing WordPress state
- `--name` (string): Name
- `--parent` (string): Parent ref or ID
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug

#### `wordpress tag delete`

- Anchor: `cmd-wordpress-tag-delete`
- Mutates state: `yes`
- Supports dry run: `yes`

Delete a WordPress tag

Example:

```bash
wordpress tag delete --help
wordpress tag delete tag1 --confirm
```

Flags:

- `--confirm` (bool): Confirm deletion
- `--dry-run` (bool): Preview without changing WordPress state
- `--site` (string): WordPress site URL for this command

#### `wordpress tag get`

- Anchor: `cmd-wordpress-tag-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress tag

Example:

```bash
wordpress tag get
wordpress tag get tag1
wordpress tag list --jsonl | wordpress tag get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress tag list`

- Anchor: `cmd-wordpress-tag-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress tag records

Example:

```bash
wordpress post get po1
wordpress post list --limit 10
wordpress tag list
wordpress tag list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress tag search`

- Anchor: `cmd-wordpress-tag-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress tag records

Example:

```bash
wordpress tag search
wordpress tag search --query "release notes"
wordpress tag search --query cmdhub-wordpress
wordpress tag search --query onboarding --jsonl | wordpress tag get
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--query` (string): Search text
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress tag update`

- Anchor: `cmd-wordpress-tag-update`
- Mutates state: `yes`
- Supports dry run: `yes`

Update a WordPress tag

Example:

```bash
wordpress tag update --help
wordpress tag update tag1 --title "Updated title"
```

Flags:

- `--description` (string): Description
- `--dry-run` (bool): Preview without changing WordPress state
- `--name` (string): Name
- `--site` (string): WordPress site URL for this command
- `--slug` (string): Slug

### `wordpress taxonomy`

- Anchor: `cmd-wordpress-taxonomy`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress taxonomy records

#### `wordpress taxonomy get`

- Anchor: `cmd-wordpress-taxonomy-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress taxonomy

Example:

```bash
wordpress taxonomy get
wordpress taxonomy get tx1
wordpress taxonomy list --jsonl | wordpress taxonomy get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress taxonomy list`

- Anchor: `cmd-wordpress-taxonomy-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress taxonomy records

Example:

```bash
wordpress post get po1
wordpress post list --limit 10
wordpress taxonomy list
wordpress taxonomy list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

### `wordpress template`

- Anchor: `cmd-wordpress-template`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress template records

#### `wordpress template get`

- Anchor: `cmd-wordpress-template-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress template

Example:

```bash
wordpress template get
wordpress template get tpl1
wordpress template list --jsonl | wordpress template get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress template list`

- Anchor: `cmd-wordpress-template-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress template records

Example:

```bash
wordpress post get po1
wordpress post list --limit 10
wordpress template list
wordpress template list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

### `wordpress template-part`

- Anchor: `cmd-wordpress-template-part`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress template-part records

#### `wordpress template-part get`

- Anchor: `cmd-wordpress-template-part-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress template-part

Example:

```bash
wordpress template-part get
wordpress template-part get tp1
wordpress template-part list --jsonl | wordpress template-part get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress template-part list`

- Anchor: `cmd-wordpress-template-part-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress template-part records

Example:

```bash
wordpress post get po1
wordpress post list --limit 10
wordpress template-part list
wordpress template-part list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

### `wordpress theme`

- Anchor: `cmd-wordpress-theme`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress theme records

#### `wordpress theme get`

- Anchor: `cmd-wordpress-theme-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress theme

Example:

```bash
wordpress theme get
wordpress theme get th1
wordpress theme list --jsonl | wordpress theme get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress theme list`

- Anchor: `cmd-wordpress-theme-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress theme records

Example:

```bash
wordpress post get po1
wordpress post list --limit 10
wordpress theme list
wordpress theme list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

### `wordpress type`

- Anchor: `cmd-wordpress-type`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress type records

#### `wordpress type get`

- Anchor: `cmd-wordpress-type-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress type

Example:

```bash
wordpress type get
wordpress type get ty1
wordpress type list --jsonl | wordpress type get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress type list`

- Anchor: `cmd-wordpress-type-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress type records

Example:

```bash
wordpress post get po1
wordpress post list --limit 10
wordpress type list
wordpress type list --limit 10
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

### `wordpress user`

- Anchor: `cmd-wordpress-user`
- Mutates state: `no`
- Supports dry run: `no`

Inspect WordPress user records

#### `wordpress user get`

- Anchor: `cmd-wordpress-user-get`
- Mutates state: `no`
- Supports dry run: `no`

Get a WordPress user

Example:

```bash
wordpress user get
wordpress user get u1
wordpress user list --jsonl | wordpress user get
```

Flags:

- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--site` (string): WordPress site URL for this command

#### `wordpress user list`

- Anchor: `cmd-wordpress-user-list`
- Mutates state: `no`
- Supports dry run: `no`

List WordPress user records

Example:

```bash
wordpress user list
wordpress user list --who authors
wordpress user search --query alice
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

#### `wordpress user search`

- Anchor: `cmd-wordpress-user-search`
- Mutates state: `no`
- Supports dry run: `no`

Search WordPress user records

Example:

```bash
wordpress user search
wordpress user search --query "release notes"
wordpress user search --query alice
wordpress user search --query onboarding --jsonl | wordpress user get
```

Flags:

- `--after` (string): Only records after this ISO timestamp
- `--author` (string): Author user ref or ID
- `--before` (string): Only records before this ISO timestamp
- `--context` (string): WordPress context: view, embed, or edit Default: `edit`.
- `--mime-type` (string): Media MIME type
- `--modified-after` (string): Only records modified after this ISO timestamp
- `--modified-before` (string): Only records modified before this ISO timestamp
- `--order` (string): Sort order: asc or desc
- `--orderby` (string): WordPress orderby field
- `--parent` (string): Parent ref or ID
- `--post` (string): Post ref or ID
- `--query` (string): Search text
- `--search` (string): WordPress search parameter
- `--site` (string): WordPress site URL for this command
- `--slug` (string): WordPress slug
- `--status` (string): WordPress status filter
- `--who` (string): User list filter, for example authors

### `wordpress version`

- Anchor: `cmd-wordpress-version`
- Mutates state: `no`
- Supports dry run: `no`

Show version information

Example:

```bash
wordpress version --help
```

## Live Examples

### Auth

#### Show auth status

Shows the current auth state and next step.

_Example metadata: provider state: local._

```bash
wordpress auth status
```

```text
Authenticated as kestrelphilip@gmail.com

Next steps:
- Run: wordpress auth whoami
```

### Lifecycle

#### Show capabilities

Lists command surfaces and output modes.

_Example metadata: provider state: local._

```bash
wordpress capabilities
```

```text
Capabilities is the operations inventory: resources, actions, safety, output modes, and command paths.
Use `wordpress capabilities --json` for the full command contract; use `wordpress schema` for input/output schemas.
Output: `--json` is one wrapper/debug payload; `--jsonl` is the pipeable `pc.cli.v1` item/meta stream.

wordpress capabilities
Resources: application-password, auth, autosave, block, block-type, capabilities, category, comment, config, doctor, media, menu, menu-item, navigation, page, plugin, post, profile, resolve, revision, route, schema, search, setting, site, status, tag, taxonomy, template, template-part, theme, type, user, version
Machine output: --json, --jsonl

Next steps:
- Schema:   wordpress schema
- Contract: wordpress capabilities --json
- Help:     wordpress --help
- Status:   wordpress auth status
```

### Schemas

#### Show schema overview

Lists available schemas.

_Example metadata: provider state: local._

```bash
wordpress schema
```

```text
Schema is the machine contract: command-level input/output schemas by `resource.action`.
Use `wordpress schema post.list --in --json` or `wordpress schema post.list --out --json`; use `wordpress capabilities` for operations.

wordpress schemas
COMMAND                      DIR
navigation.clone             input
block.create                 input
config.explain               output
site.configure               input
route.get                    output
search.query                 input
post.delete                  input
post.delete                  output
page.create                  output
page.schedule                output
post.clone                   output
block-type.list              output
application-password.revoke  output
schema.describe              output
navigation.trash             input
type.list                    output
profile.use                  output
post.search                  output
user.search                  output
comment.list                 output
post.restore                 input
navigation.update            output
block.clone                  output
menu.search                  input
block.create                 output
menu.delete                  output
revision.list                output
revision.get                 input
block-type.search            input
category.update              input
comment.delete               output
media.detach                 output
block.schedule               input
block.delete                 input
category.list                output
post.get                     output
media.search                 input
post.restore                 output
template.get                 input
media.update                 output
post.schedule                output
application-password.get     input
comment.spam                 input
comment.search               input
category.create              output
menu-item.list               output
status.list                  input
status.get                   input
category.get                 input
revision.delete              output
profile.delete               output
navigation.create            input
profile.delete               input
navigation.update            input
block-type.get               output
auth.login                   input
post.trash                   input
block.trash                  output
comment.trash                output
autosave.apply               input
autosave.apply               output
profile.create               output
route.list                   input
route.get                    input
block.restore                output
menu.get                     input
taxonomy.get                 input
theme.list                   input
comment.unspam               output
profile.use                  input
comment.spam                 output
page.get                     input
template.list                input
revision.get                 output
revision.restore             input
media.download               input
plugin.get                   input
navigation.publish           output
block.schedule               output
category.search              output
category.delete              output
comment.restore              output
page.schedule                input
taxonomy.list                input
setting.list                 output
resolve.get                  output
comment.list                 input
post.trash                   output
navigation.clone             output
template-part.get            input
comment.delete               input
route.list                   output
page.get                     output
tag.create                   output
block-type.list              input
post.list                    input
user.search                  input
post.create                  input
post.clone                   input
block.publish                output
tag.update                   input
menu-item.create             output
post.schedule                input
block.clone                  input
menu.create                  output
theme.get                    output
category.get                 output
menu-item.delete             input
block.update                 output
category.list                input
plugin.list                  output
media.attach                 input
auth.refresh                 output
site.configure               output
media.get                    input
plugin.get                   output
menu.get                     output
menu-item.search             input
user.get                     input
navigation.restore           output
theme.get                    input
comment.reply                output
media.upload                 input
media.list                   output
post.update                  input
tag.create                   input
template.list                output
capabilities.describe        output
post.search                  input
user.list                    input
media.attach                 output
site.get                     output
post.create                  output
status.get                   output
comment.create               output
profile.create               input
page.list                    output
navigation.create            output
autosave.list                output
navigation.delete            output
page.restore                 output
tag.search                   output
menu-item.search             output
template-part.list           output
block-type.search            output
block-type.get               input
doctor.run                   output
page.publish                 output
category.update              output
tag.search                   input
taxonomy.list                output
template-part.list           input
auth.status                  output
post.list                    output
post.publish                 input
navigation.restore           input
block.delete                 output
menu.list                    output
auth.logout                  output
profile.rename               output
tag.get                      input
menu-item.create             input
status.list                  output
comment.approve              output
block.trash                  input
tag.delete                   output
menu-item.get                input
menu-item.delete             output
type.get                     input
comment.hold                 output
revision.delete              input
search.query                 output
menu-item.update             output
auth.login                   output
media.download               output
page.clone                   output
tag.list                     output
template.get                 output
autosave.list                input
application-password.get     output
application-password.revoke  input
profile.rename               input
page.search                  output
comment.search               output
page.publish                 input
navigation.trash             output
menu.update                  output
menu-item.update             input
media.delete                 input
media.search                 output
page.delete                  input
navigation.delete            input
category.search              input
setting.list                 input
comment.get                  input
type.list                    input
comment.create               input
comment.reply                input
revision.list                input
comment.unspam               input
comment.trash                input
page.restore                 input
category.delete              input
tag.list                     input
version.get                  output
menu.search                  output
menu.delete                  input
page.delete                  output
post.update                  output
tag.delete                   input
menu-item.get                output
plugin.list                  input
comment.hold                 input
type.get                     output
revision.restore             output
autosave.create              output
page.update                  output
user.get                     output
page.clone                   input
menu.create                  input
profile.list                 output
page.create                  input
block.publish                input
post.get                     input
page.list                    input
category.create              input
post.publish                 output
block.restore                input
menu.list                    input
comment.restore              input
media.delete                 output
setting.get                  output
site.get                     input
comment.get                  output
block.update                 input
menu.update                  input
template-part.get            output
comment.approve              input
autosave.get                 output
media.list                   input
comment.update               input
page.search                  input
autosave.create              input
tag.update                   output
comment.update               output
setting.update               output
tag.get                      output
setting.update               input
navigation.schedule          output
theme.list                   output
setting.get                  input
auth.whoami                  output
user.list                    output
page.update                  input
page.trash                   input
page.trash                   output
navigation.publish           input
media.upload                 output
media.get                    output
media.update                 input
media.detach                 input
autosave.get                 input
navigation.schedule          input
menu-item.list               input
taxonomy.get                 output

Next steps:
- Status: wordpress auth status
- Login:  wordpress auth login
- Site:   wordpress site get
- Schema: wordpress schema
```

### Content

#### Show post create help

Documents authenticated draft creation and dry-run flags.

_Example metadata: provider state: local._

```bash
wordpress post create --help
```

```text
Create a WordPress post

Usage:
  wordpress post create [flags]

Examples:
wordpress post create --help
wordpress post create --title "cmdhub-wordpress draft" --content-file ./post.md --content-format markdown --status draft
wordpress post create --title "cmdhub-wordpress draft" --content-file ./post.md --status draft

Flags:
      --category stringArray    Category ref or ID; repeatable
      --confirm                 Confirm create-time publish or schedule
      --content string          Content body
      --content-file string     Read content from file or - for stdin
      --content-format string   Content format: html, markdown, or plain (default "html")
      --date string             Publish date
      --dry-run                 Preview without changing WordPress state
      --excerpt string          Excerpt
      --excerpt-file string     Read excerpt from file or - for stdin
      --featured-media string   Featured media ref or ID
  -h, --help                    help for create
      --parent string           Parent ref or ID
      --site string             WordPress site URL for this command
      --slug string             Slug
      --status string           WordPress status (default "draft")
      --tag stringArray         Tag ref or ID; repeatable
      --timezone string         Date timezone
      --title string            Title
      --title-file string       Read title from file or - for stdin

Global Flags:
      --config string    Config path override
      --cursor string    Continuation cursor
      --debug            Enable debug diagnostics
      --json             Emit one JSON wrapper/debug payload
      --jsonl            Emit pipeable pc.cli.v1 JSONL item/meta records
      --limit int        Maximum items to emit (default 50)
      --no-paginate      Fetch only one page
  -o, --output string    Compatibility output mode: json|jsonl. Prefer --json for wrapper/debug or --jsonl for pipes
      --page-size int    Requested upstream page size (default 50)
      --profile string   Config/auth profile (default "default")
  -q, --quiet            Suppress non-essential diagnostics
  -v, --version          Print version information
      --view string      View mode: summary|full (default "summary")
```

### Media

#### Show media upload help

Documents media upload metadata flags.

_Example metadata: provider state: local._

```bash
wordpress media upload --help
```

```text
Upload media to WordPress

Usage:
  wordpress media upload <file> [flags]

Examples:
wordpress media upload --help
wordpress media upload ./hero.jpg --alt-text "Product hero screenshot"
wordpress media upload ./hero.jpg --title "Hero image" --alt-text "Product hero screenshot"

Flags:
      --alt-text string      Media alt text
      --caption string       Media caption
      --description string   Media description
      --dry-run              Preview without uploading
      --file string          Local media file path
  -h, --help                 help for upload
      --post string          Attach to post ref or ID after upload
      --site string          WordPress site URL for this command
      --title string         Media title

Global Flags:
      --config string    Config path override
      --cursor string    Continuation cursor
      --debug            Enable debug diagnostics
      --json             Emit one JSON wrapper/debug payload
      --jsonl            Emit pipeable pc.cli.v1 JSONL item/meta records
      --limit int        Maximum items to emit (default 50)
      --no-paginate      Fetch only one page
  -o, --output string    Compatibility output mode: json|jsonl. Prefer --json for wrapper/debug or --jsonl for pipes
      --page-size int    Requested upstream page size (default 50)
      --profile string   Config/auth profile (default "default")
  -q, --quiet            Suppress non-essential diagnostics
  -v, --version          Print version information
      --view string      View mode: summary|full (default "summary")
```

### Moderation

#### Show comment approve help

Documents confirmation-gated moderation.

_Example metadata: provider state: local._

```bash
wordpress comment approve --help
```

```text
Approve a WordPress comment

Usage:
  wordpress comment approve <comment> [flags]

Examples:
wordpress comment approve --help
wordpress comment approve cm1 --confirm

Flags:
      --confirm       Confirm comment moderation
      --dry-run       Preview without changing WordPress state
  -h, --help          help for approve
      --site string   WordPress site URL for this command

Global Flags:
      --config string    Config path override
      --cursor string    Continuation cursor
      --debug            Enable debug diagnostics
      --json             Emit one JSON wrapper/debug payload
      --jsonl            Emit pipeable pc.cli.v1 JSONL item/meta records
      --limit int        Maximum items to emit (default 50)
      --no-paginate      Fetch only one page
  -o, --output string    Compatibility output mode: json|jsonl. Prefer --json for wrapper/debug or --jsonl for pipes
      --page-size int    Requested upstream page size (default 50)
      --profile string   Config/auth profile (default "default")
  -q, --quiet            Suppress non-essential diagnostics
  -v, --version          Print version information
      --view string      View mode: summary|full (default "summary")
```
