royal-mcp__wp_update_post
Update existing post (any post type). Response includes saved_fields (actual stored values, read back from DB) so silent-drop / silent-modify by WordPress is surfaced rather than hidden. Pass date to reschedule or backdate. Backslashes (JSON unicode escapes, embedded JSON-LD, Divi loop field bindings) are stored as sent. (site: demo.royalplugins.com) Through Royally: waits for a person to approve it in Royally; nothing on the site changes until then.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| date | No | ISO 8601 datetime in the site timezone (e.g. 2026-12-25T09:00:00). Combine with status=future to reschedule, or use alone to backdate. | |
| title | No | ||
| status | No | ||
| content | No | ||
| excerpt | No | Optional excerpt. May contain safe HTML (same allow-list as post content). | |
| site_id | No | Site to run this tool on: 8ef2e52b-bd07-4671-a363-ebe8b480b65c (https://demo.royalplugins.com) | |
| password | No | Post password. Empty string removes protection. | |
| menu_order | No | Order among sibling posts/pages. Lower = earlier. | |
| ping_status | No | Allow (open) or disallow (closed) trackbacks / pingbacks. | |
| post_author | No | User ID to reassign as the post author. Use wp_get_users to discover available author IDs. | |
| post_parent | No | Parent post ID (0 = no parent). Useful for hierarchical CPTs. Throws if the ID does not exist. | |
| comment_status | No | Allow (open) or disallow (closed) new comments. | |
| featured_media | No | Attachment ID to set as featured image (pass 0 to remove) |