ACPT ability reference
Reference for the GoBuildWP Pro 1.12.4 source. Installed schemas and policy remain authoritative.
This ACPT ability reference lists every call GoBuildWP Pro registers for ACPT post types, taxonomies, meta groups and option pages, with the exact slug an agent sends and what the plugin's own contract says it does. Of the 24, 11 read, 8 write and 5 are marked destructive in the source.
Read-only, write and destructive groups describe the source annotations. They do not establish a minimum safety profile, human approval or undo support. Those controls are separate: check the installed ability, the connected user and the active site policy before calling it. A read can still return sensitive data. These pages are not evidence that every operation passed an end-to-end runtime test.
What ACPT needs before these load
These 24 abilities come with GoBuildWP Pro 1.12.4. Pro registration requires the Freemius SDK to permit premium code and any companion dependency the module checks to be available. The floors below apply to the named dependencies or features; an optional add-on or newer feature floor does not necessarily disable the base module. wppilot/integration-health and the module's setup call describe the installed availability.
- Minimum (base)
- 2.0.52
WPPILOT_PRO_ACPT_MIN_VERSION - ACPT editions
- free, pro
- Agent skills shipped
acpt-integration,content-model-schema,content-model-migration,dynamic-data-binding
ACPT in practice
ACPT licence state and option pages that never appear
The ACPT calls do not check whether the ACPT Pro licence is active: post types, taxonomies and meta groups can be read and written either way. Option pages are the exception in practice. wppilot/acpt-check-setup returns license_active and option_pages_will_render, and the second is true only when the licence is active and ACPT's own pages setting is switched on. When it is false, wppilot/acpt-create-option-page still stores the page in ACPT's database, but no menu entry shows in wp-admin until the licence is activated. Read that flag before telling a site owner an options screen is ready.
Forms, dynamic blocks, datasets and ACPT's WooCommerce features are outside this module, so a request touching them has to be done in ACPT's own screens.
Partial results from an ACPT value write
wppilot/acpt-write-values saves each field separately through save_acpt_meta_field_value() and reports a status of ok or error per field. One misspelled box or field name therefore does not stop the rest of the map: the other values are stored, and the failed one comes back with an error saying ACPT returned false because the field was not found or the value was invalid. After a write, scan the results for error rows rather than trusting the top-level answer, then read the group back with wppilot/acpt-read-values to compare what landed.
Box and field names are ACPT's own identifiers, not labels. wppilot/acpt-get-field-group-schema with include_fields: true lists both levels, and wppilot/acpt-get-field-type-schema explains a type's options; it is case-sensitive and refuses an unknown type name with acpt_invalid_field_type.
What an ACPT mistake costs to reverse
ACPT keeps its definitions in its own acpt_* tables, so every create, edit and delete of a post type, taxonomy, meta group or option page is recorded by the change ledger as irreversible. Only value writes to a post target are snapshotted and can be put back with wppilot/rollback-change; values on terms, users and option pages cannot. Before replacing a group's boxes with wppilot/acpt-edit-field-group, keep the full schema read so the earlier structure can be sent back by hand.
Take most care with wppilot/acpt-delete-post-type. By default it removes only ACPT's record and leaves the posts in place with a type nobody registers. With delete_posts: true it also deletes every post of that type, and nothing in GoBuildWP can bring them back, so ask for a database backup first.
- acpt_reserved_slug: the post type name is one WordPress itself uses.
- acpt_already_exists: a post type, taxonomy, meta group or option page with that name or slug is already defined; edit it instead.
- acpt_target_invalid: target.type or target.id is missing, or the type is not post, term, user or option-page.
- acpt_version_unsupported: the installed ACPT is below the minimum this module supports; update ACPT before retrying.
ACPT reads
| Ability | What it does |
|---|---|
wppilot/acpt-check-setupCheck ACPT Setup | Reports the ACPT (Advanced Custom Post Types) environment: whether the plugin is active, the version, whether the minimum version is satisfied, whether the Pro license is currently active, and counts of CPTs, taxonomies, meta groups, and option pages defined through ACPT. Call BEFORE any other ACPT ability to verify the runtime is ready. |
wppilot/acpt-get-field-group-schemaGet ACPT Field Group Schema | Returns the schema for one ACPT meta group (field group) identified by name. Default response: identity (id, name, label, context, priority), belongs[] rules, and box_count. Pass include_fields=true to also receive the 3-level hierarchy: meta_boxes[{id, name, label, sort, fields[{id, name, type, label, sort, required, default_value}]}]. For advanced options on a specific field type call wppilot/acpt-get-field-type-schema. |
wppilot/acpt-get-field-type-schemaGet ACPT Field Type Schema | Returns the option matrix for a single ACPT field type. Call this before creating or editing a field to discover what advanced options are available for the given type. Available types (case-sensitive): Text, Textarea, Editor, Number, Range, Email, Url, Password, Phone, Color, Date, DateTime, DateRange, Time, Image, File, Gallery, ImageSlider, Audio, AudioMulti, Video, VideoMulti, Post, PostObject, PostObjectMulti, User, UserMulti, TermObject, TermObjectMulti, Select, SelectMulti, Radio, Checkbox, Toggle, Repeater, FlexibleContent, List, Table, Address, AddressMulti, Embed, Icon, Currency, Country, Rating, Barcode, QRCode, HTML, ID, Length, Weight, Clone. |
wppilot/acpt-get-option-pageGet ACPT Option Page | Returns the full schema for one ACPT-managed option page identified by menu_slug. Includes id, menu_slug, page_title, menu_title, capability, icon, description, position, and children[] (sub-pages with the same shape). |
wppilot/acpt-get-post-typeGet ACPT Post Type | Returns the full schema for one ACPT-managed custom post type identified by name (WP slug). Default response includes identity, supports[], labels, settings, and meta_group_count. Pass include_meta_groups=true to also receive the names and box counts of attached meta groups (without fields - call wppilot/acpt-get-field-group-schema for field details). |
wppilot/acpt-get-taxonomyGet ACPT Taxonomy | Returns the full schema for one ACPT-managed taxonomy identified by slug. Includes id, slug, singular, plural, native, labels, settings, and the CPT names this taxonomy is associated with. |
wppilot/acpt-list-field-groupsList ACPT Field Groups | Returns a lightweight list of ACPT meta groups (field groups). Each entry contains id, name, label, context, priority, and box_count. Optionally filter by belongs_to (customPostType|taxonomy|optionPage|user|comment) and find (the slug/name of the CPT, taxonomy, or option page). Use wppilot/acpt-get-field-group-schema to fetch the full schema with fields for a single group. |
wppilot/acpt-list-option-pagesList ACPT Option Pages | Returns a lightweight list of all ACPT-managed option pages. Each entry includes id, menu_slug, page_title, menu_title, capability, icon, position, and child_count. Use wppilot/acpt-get-option-page to fetch the full schema for one page including its children. |
wppilot/acpt-list-post-typesList ACPT Post Types | Returns a lightweight list of all custom post types registered through ACPT. Each entry contains id, name (the WP post type slug), singular, plural, icon, native flag, and post_count. Use wppilot/acpt-get-post-type to fetch the full schema for a single CPT. |
wppilot/acpt-list-taxonomiesList ACPT Taxonomies | Returns a lightweight list of all custom taxonomies registered through ACPT. Each entry contains id, slug (WP taxonomy slug), singular, plural, native flag, and the list of CPT names it is associated with. Use wppilot/acpt-get-taxonomy to fetch the full schema for one taxonomy. |
wppilot/acpt-read-valuesRead ACPT Values | Reads ACPT meta field values for a target (post, term, user, or option-page). Requires target {type, id} and the meta group name. Pass fields[] as [{box_name, field_name}] pairs to read specific fields; omit to read all fields in all boxes of the group. Returns a values map nested by box_name → field_name → value. Target types: post (id=post_id int), term (id=term_id int), user (id=user_id int), option-page (id=menu_slug string). ACPT does not store meta on comments. |
ACPT writes
| Ability | What it does |
|---|---|
wppilot/acpt-create-field-groupCreate ACPT Field Group | Creates a new ACPT meta group (field group). Required: name (unique slug-like string). Optional: label, display (standard|accordion|vertical_tabs|horizontal_tabs), context (normal|advanced|side), priority (default|high|low|core), belongs[] (location rules), boxes[] (initial meta boxes with fields). belongs[] items: {belongs_to: customPostType|taxonomy|optionPage|user|comment, operator: "=", find: "cpt-slug-or-taxonomy-slug"}. boxes[] items: {name, label?, fields[{name, type, label?, required?, default_value?}]}. |
wppilot/acpt-create-option-pageCreate ACPT Option Page | Creates a new ACPT-managed WordPress admin option page. Required: menu_slug (unique WP admin menu slug), page_title, menu_title. Optional: capability (default: manage_options), icon (dashicons slug or URL), description, position (int, WP menu position), parent_menu_slug (to create a sub-page under an existing option page). |
wppilot/acpt-create-post-typeCreate ACPT Post Type | Creates a new ACPT-managed custom post type. Required: name (WP slug, ≤20 chars, lowercase alphanumeric/dash/underscore), singular, plural. Optional: icon (dashicons slug), supports[] (title|editor|thumbnail|excerpt|revisions|etc.), labels{} (WP label overrides), settings{} (public, show_in_rest, hierarchical, has_archive, menu_position, etc.). Reserved WP slugs (post, page, attachment, revision, nav_menu_item, wp_block, wp_template, wp_template_part, wp_navigation) are rejected. |
wppilot/acpt-create-taxonomyCreate ACPT Taxonomy | Creates a new ACPT-managed custom taxonomy. Required: slug (WP taxonomy slug, ≤32 chars), singular, plural. Optional: post_types[] (CPT slugs to associate), labels{} (WP label overrides), settings{} (public, hierarchical, show_in_rest, etc.). Reserved WP taxonomy slugs are rejected by the ACPT model. |
wppilot/acpt-edit-field-groupEdit ACPT Field Group | Edits an existing ACPT meta group (PATCH for top-level fields; REPLACE for belongs[] and boxes[]). Identify by name. Passing boxes[] replaces the entire box/field structure - include all boxes and fields you want to keep. Uses ACPT's SaveMetaGroupCommand internally so all hooks fire and orphans are cleaned up. |
wppilot/acpt-edit-option-pageEdit ACPT Option Page | Edits an existing ACPT-managed option page (PATCH semantics). Identify by menu_slug. Omitted fields keep their current value. |
wppilot/acpt-edit-post-typeEdit ACPT Post Type | Edits an existing ACPT-managed custom post type (PATCH semantics for top-level fields; REPLACE for supports[] and labels{}). Identify by name. Omitted top-level fields keep their current value. Passing supports[] or labels{} replaces the entire array. |
wppilot/acpt-edit-taxonomyEdit ACPT Taxonomy | Edits an existing ACPT-managed taxonomy (PATCH for top-level fields; REPLACE for labels{}). Identify by slug. Omitted fields keep their current value. |
Destructive ACPT calls
| Ability | What it does |
|---|---|
wppilot/acpt-delete-field-groupDelete ACPT Field Group | Permanently deletes an ACPT meta group and all its boxes and fields. Field value data stored in wp_postmeta / wp_termmeta / etc. is NOT automatically deleted. Idempotent: deleting a non-existent name returns deleted=false. |
wppilot/acpt-delete-option-pageDelete ACPT Option Page | Permanently deletes an ACPT-managed option page. Idempotent: deleting a non-existent menu_slug returns deleted=false. |
wppilot/acpt-delete-post-typeDelete ACPT Post Type | Permanently removes an ACPT-managed custom post type from ACPT's registry. By default leaves existing posts in wp_posts (they become orphaned with an unregistered post_type). Pass delete_posts=true to also delete all posts of this type from wp_posts. Idempotent: deleting a non-existent name returns deleted=false. |
wppilot/acpt-delete-taxonomyDelete ACPT Taxonomy | Permanently removes an ACPT-managed taxonomy from ACPT's registry. Idempotent: deleting a non-existent slug returns deleted=false. |
wppilot/acpt-write-valuesWrite ACPT Values | Writes ACPT meta field values for a target (post, term, user, or option-page). Pass target {type, id}, and a values map: {box_name: {field_name: value}}. Each write uses save_acpt_meta_field_value() so ACPT hooks fire. Returns a per-field results array with status ok|error. Target types: post (id=post_id int), term (id=term_id int), user (id=user_id int), option-page (id=menu_slug string). ACPT does not store meta on comments. |
For the task-level view of ACPT, with worked requests and what to check afterwards, see ACPT integration page.