Skip to main content

WordPress Content & Taxonomies

Provider id: wp-content ยท 17 tool(s).

assign_terms_to_contentโ€‹

Assign taxonomy terms to a piece of content (e.g. set a post's categories or tags).

Profiles: full, wp

Parameters

ParameterTypeRequiredDescription
content_typestringyesContent type slug.
idintegeryesContent ID.
taxonomystringyesTaxonomy slug (e.g. 'category', 'post_tag').
term_idsarrayyesTerm IDs to assign.

create_contentโ€‹

Create new content of any type. Returns the created object.

๐Ÿ”ด Destructive โ€” supports a dry_run preview flag.
Profiles: full, wp

Parameters

ParameterTypeRequiredDescription
content_typestringyesContent type slug.
titlestringyesContent title.
contentstringyesContent body (HTML).
statusstringnoStatus (default 'draft').
excerptstringnoExcerpt.
slugstringnoSlug.
authorintegernoAuthor ID.
parentintegernoParent ID (hierarchical).
categoriesarraynoCategory IDs (posts).
tagsarraynoTag IDs (posts).
featured_mediaintegernoFeatured image attachment ID.
menu_orderintegernoMenu order (pages).
metaobjectnoMeta registered for the REST API. Other keys are not saved and come back in warnings. For SEO fields use syteops_seo_set.

create_termโ€‹

Create a new term in a taxonomy.

Profiles: full, wp

Parameters

ParameterTypeRequiredDescription
taxonomystringyesTaxonomy slug.
namestringyesTerm name.
slugstringnoTerm slug.
descriptionstringnoTerm description.
parentintegernoParent term ID.

delete_contentโ€‹

Delete content of any type. Set force=true to bypass trash.

๐Ÿ”ด Destructive โ€” supports a dry_run preview flag.
Profiles: full, wp

Parameters

ParameterTypeRequiredDescription
content_typestringyesContent type slug.
idintegeryesContent ID.
forcebooleannoBypass trash and permanently delete.

delete_termโ€‹

Delete a taxonomy term.

๐Ÿ”ด Destructive โ€” supports a dry_run preview flag.
Profiles: full, wp

Parameters

ParameterTypeRequiredDescription
taxonomystringyesTaxonomy slug.
idintegeryesTerm ID.

discover_content_typesโ€‹

List all available content types (built-in and custom) registered on the site.

Profiles: full, wp

Parameters

No parameters.

discover_taxonomiesโ€‹

List all taxonomies (categories, tags, and custom taxonomies) registered on the site.

Profiles: full, wp

Parameters

No parameters.

find_content_by_urlโ€‹

Find content by its public URL. Extracts the slug and resolves the content type from the URL path (e.g. /documentation/guide/ tries the "documentation" type first), including custom post types. Optionally update it.

Profiles: full, lean, wp

Parameters

ParameterTypeRequiredDescription
urlstringyesFull public URL of the content.
content_typesarraynoOptional explicit content types (slugs or REST bases) to search. If omitted, inferred from the URL path plus all public types.
update_fieldsobjectnoOptional fields to update once found (title, content, status, meta). Meta keys WordPress does not save come back in warnings; for SEO fields use syteops_seo_set.

get_contentโ€‹

Get a single piece of content by ID and content type.

Profiles: full, lean, wp

Parameters

ParameterTypeRequiredDescription
content_typestringyesContent type slug.
idintegeryesContent ID.

get_content_by_slugโ€‹

Find content by slug across one or more content types.

Profiles: full, lean, wp

Parameters

ParameterTypeRequiredDescription
slugstringyesThe slug to find.
content_typesarraynoContent types to search (defaults to common types).

get_content_termsโ€‹

Get the taxonomy terms currently assigned to a piece of content.

Profiles: full, wp

Parameters

ParameterTypeRequiredDescription
content_typestringyesContent type slug.
idintegeryesContent ID.
taxonomystringyesTaxonomy slug to read (e.g. category, post_tag).

get_termโ€‹

Get a single taxonomy term by ID.

Profiles: full, wp

Parameters

ParameterTypeRequiredDescription
taxonomystringyesTaxonomy slug.
idintegeryesTerm ID.

list_contentโ€‹

List content of any type (posts, pages, or custom post types) with filtering and pagination.

Profiles: full, lean, wp

Parameters

ParameterTypeRequiredDescription
content_typestringyesContent type slug, e.g. 'post', 'page', 'product'.
pageintegernoPage number (default 1).
per_pageintegernoItems per page (1-100, default 10).
searchstringnoSearch term for title or body.
slugstringnoLimit to a specific slug.
statusstringnoContent status (publish, draft, etc.).
authorinteger,arraynoAuthor ID or array of IDs.
categoriesinteger,arraynoCategory ID(s), for posts.
tagsinteger,arraynoTag ID(s), for posts.
parentintegernoParent ID for hierarchical content.
orderbystringnoSort field.
orderstringnoSort direction.
afterstringnoISO8601 date; content published after.
beforestringnoISO8601 date; content published before.

list_termsโ€‹

List terms in a taxonomy (e.g. category, post_tag, or a custom taxonomy).

Profiles: full, lean, wp

Parameters

ParameterTypeRequiredDescription
taxonomystringyesTaxonomy slug, e.g. 'category', 'post_tag'.
searchstringnoSearch term name.
per_pageintegernoItems per page (1-100).
pageintegernoPage number.
parentintegernoParent term ID (hierarchical taxonomies).

replace_content_textโ€‹

Replace exact text in one or more posts or Elementor pages, all or nothing. Defaults to a dry run that writes nothing and previews every edit (match counts, where found as widget and setting, the post_content mirror count, what would be written). A real run needs dry_run:false AND confirm:true. Every edit is checked before any write: each must match old exactly expected_count times (default 1), so one bad edit writes nothing and the result names it. On an Elementor page only the matching setting values change and the rest of _elementor_data stays byte for byte; post_content (the mirror) must hold old the same number of times and gets the same replacement. widget_id limits an Elementor match to one widget; refuse_if_present refuses a post that already contains a string (use the target URL to prevent double links). A match inside an HTML tag (an attribute) is refused unless allow_in_attributes:true; a match inside <script>, <style> or an HTML comment is refused unless allow_in_code:true. A restore point (a revision carrying the Elementor meta) is created per post before writing and must still exist; the result gives revision_id, the sha1 of the old _elementor_data and rollback steps. Writes are raw compare-and-swap SQL (no kses, no second revision): a post changed by someone else in the meantime is refused untouched and the posts already written are put back. Save hooks do not run; post_modified is set, caches are cleared and SyteOps cache.purge runs when available. A builder-mode Elementor page with no usable _elementor_data is refused. With verify_rendered (default true) it fetches each published post of this site (about 20 s in total, then the rest are skipped with time_budget) and warns when the new text is missing from the rendered page (it may be stripped from display, for example an in-body FAQ replaced by structured data): check those warnings, the write has already happened. Takes 1-25 edits, one per post. Same permission as update_content (edit_post per post); without unfiltered_html, the stored result must pass wp_kses_post() unchanged and carry no disallowed URL protocol, only Elementor text and content settings may change (not links, custom attributes, CSS, ids or dynamic tags), and allow_in_attributes / allow_in_code are refused.

Profiles: full, wp

Parameters

ParameterTypeRequiredDescription
editsarrayyesEdits, one per post.
allow_in_attributesbooleannoDefault false: refuse a match that falls inside an HTML tag, so only text content changes.
allow_in_codebooleannoDefault false: refuse a match inside <script>, <style> or an HTML comment (JSON-LD, CSS, notes). Separate from allow_in_attributes.
confirmbooleannoRequired (true), together with dry_run:false, for a real write.
verify_renderedbooleannoDefault true: after writing, fetch each published post and warn when the new text is not in the rendered HTML.

update_contentโ€‹

Update existing content of any type. Only provided fields change.

๐Ÿ”ด Destructive โ€” supports a dry_run preview flag.
Profiles: full, wp

Parameters

ParameterTypeRequiredDescription
content_typestringyesContent type slug.
idintegeryesContent ID.
titlestringno
contentstringno
statusstringno
excerptstringno
slugstringno
authorintegerno
parentintegerno
categoriesarrayno
tagsarrayno
featured_mediaintegerno
menu_orderintegerno
metaobjectnoMeta registered for the REST API. Other keys are not saved and come back in warnings. For SEO fields use syteops_seo_set.

update_termโ€‹

Update an existing taxonomy term.

Profiles: full, wp

Parameters

ParameterTypeRequiredDescription
taxonomystringyesTaxonomy slug.
idintegeryesTerm ID.
namestringno
slugstringno
descriptionstringno
parentintegerno