Skip to content

WordPress Content

The first step beyond Elementor. These tools manage general WordPress content (posts, pages, and any custom post type) built entirely on WordPress core (wp_insert_post, WP_Query, wp_set_object_terms, …). They never touch _elementor_data. Every post returned carries an is_elementor flag so an agent knows to switch to the Elementor tools for builder pages.

All eight are enabled by default and capability-gated. Featured image and custom-field meta are parameters of create/update, not separate tools.

Lists registered public post types. Discovery tool: call it to learn what post_type values the other content tools accept.

Input: none.

Returns: array of { name, label, hierarchical, supports }.

Capability: edit_posts. Read-only.

Lists registered taxonomies and the object types they attach to.

Input: none.

Returns: array of { name, label, object_types, hierarchical }.

Capability: edit_posts. Read-only.

Creates a post, page, or any custom post type.

Input:

  • title (required)
  • post_type: defaults to post
  • content: classic HTML or block markup
  • status: publish, draft, pending, private (defaults to draft)
  • slug, author, excerpt
  • terms: taxonomy → term IDs/slugs map
  • meta: custom-field key/value map
  • featured_image: attachment ID or image URL (sideloaded if a URL)

Returns: { post_id, edit_url, view_url, is_elementor }.

Capability: publish_posts (or edit_posts for drafts).

Reads a single post by ID.

Input: post_id.

Returns: the post’s fields, terms, meta, and an is_elementor flag.

Capability: edit_posts. Read-only.

Updates an existing post’s fields, terms, custom fields, and featured image. Only the fields you pass change.

Input: post_id plus any of the create-post fields.

Returns: { post_id, updated: true }.

Capability: edit_post on the target.

Lists/queries posts of any type with filters (status, author, taxonomy, search, pagination, order).

Input: post_type, status, search, author, terms, per_page, page, orderby, order.

Returns: array of posts (each with is_elementor) plus pagination info.

Capability: edit_posts. Read-only.

Deletes a post. Trashes by default. Pass force: true to permanently delete.

Input: post_id, force (optional).

Returns: { post_id, deleted: true, forced }.

Capability: delete_post on the target. Destructive.

Assigns taxonomy terms to a post (append or replace).

Input: post_id, taxonomy, terms (IDs or slugs), append (optional).

Returns: { post_id, taxonomy, term_ids }.

Capability: edit_post on the target.

WordPress core’s three read-only context abilities are also exposed on the EMCP server, so an agent can read site/user/environment context without a separate connection:

  • core/get-site-info
  • core/get-user-info
  • core/get-environment-info