Pro module18 abilities

Admin Site Enhancements ability reference

Reference for the GoBuildWP Pro 1.12.4 source. Installed schemas and policy remain authoritative.

This Admin Site Enhancements ability reference lists every call GoBuildWP Pro registers for ASE custom fields, post types and taxonomies, with the exact slug an agent sends and what the plugin's own contract says it does. Of the 18, 8 read, 7 write and 3 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 Admin Site Enhancements needs before these load

These 18 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)
8.7.0 WPPILOT_PRO_ASE_MIN_VERSION
Admin Site Enhancements editions
free, pro
Agent skills shipped
ase-integration, content-model-schema, content-model-migration, dynamic-data-binding

Before accepting the result

Check licensed ASE Pro and the active CFT/CCT modules for the specific operation. A top-level success is not all-fields success: inspect every field result and reread stored values.

Safety profiles and human confirmation

Admin and Site Enhancements in practice

ASE Pro installed is not the same as ASE Pro licensed

wppilot/ase-check-setup separates three conditions that look alike from the outside. pro_active says the Pro build of Admin and Site Enhancements is loaded; the free build has no Custom Field Types or Custom Content Types modules, so every definition call there answers ase_pro_required. pro_licensed says that build is also licensed. Without a valid licence, ASE refuses to load its Custom Content Types module: GoBuildWP can still write a post type or taxonomy definition and read it back, but ASE will not register it with WordPress, so nothing appears in the admin menu or on the front end until the licence is activated.

The third condition is ASE's own module switches, reported as cft_module_active and cct_module_active. They live in ASE's settings, and a call into a switched-off module returns ase_module_disabled. Turning a module on is a decision for the site owner in ASE's settings screen; nothing in this module changes those switches.

Rolling back ASE definitions and values

The three creates are recorded in a way wppilot/rollback-change can reverse, because each adds one new definition post. The three edits are not: they address the definition by key and can also move ASE's internal field-id counter forward, so the ledger cannot resolve them to a single row it could restore. Read the definition with wppilot/ase-get-field-group (with include_fields: true), wppilot/ase-get-post-type or wppilot/ase-get-taxonomy first and keep that output; sending it back through the edit call is the way to undo one by hand.

Value writes follow the same split as other field plugins in the change ledger: a write to a post target is snapshotted, while a term or options-page write is recorded as irreversible. The deletes are permanent, and force_delete_content or force_delete_terms also hard-deletes the posts or terms, which no GoBuildWP call can bring back.

ASE responses worth reading line by line

  • wppilot/ase-write-values never aborts part-way, so one ase_unknown_field or ase_layout_field_write row can sit among successes. Tabs, headings and line breaks are layout fields with no value to write.
  • ase_reload_failed: the edit was saved but the definition could not be read back afterwards. Read it again before retrying, so the edit is not applied twice.
  • ase_post_type_slug_conflict and ase_taxonomy_slug_conflict: the slug exists with different data. An identical re-create is not an error and returns created: false.
  • Changing the singular or plural name on an edit leaves the auto-generated labels as they were. Send labels_full overrides for the labels that should change, then check the admin menu.
  • Edits and deletes of post types and taxonomies flush rewrite rules, so check archive and single URLs for that type on staging afterwards.

Admin Site Enhancements reads

AbilityWhat it does
wppilot/ase-check-setupCheck ASE SetupReports the Admin and Site Enhancements (ASE) Pro environment status: active/inactive, version, min-version satisfied, Pro detection, per-module toggles (Custom Field Types, Custom Content Types), and counts of registered field groups, custom post types, and custom taxonomies. Run this first to diagnose availability of the other ASE abilities.
wppilot/ase-get-field-groupGet ASE Field GroupReads a single ASE CFT field group by its key (slug). Default shape: key, title, fields_count, location, show_in_rest_api. Pass include_fields: true to also expand the full fields[] array. A group with 30 repeater sub-fields would otherwise burn 5-10K tokens on every introspection - only request fields when you need them.
wppilot/ase-get-post-typeGet ASE Post TypeReads a single ASE CCT post type definition by slug. Default shape: key, slug, title, labels (singular+plural), supports, taxonomies, public, hierarchical, menu_position, menu_icon, rest, source, editable. Opt-in expansion via include array: "labels_full" (all 31 cpt_label_* postmeta keys), "capabilities" (capability_type, map_meta_cap, custom slugs), "rewrite" (slug, with_front, feeds, pages, ep_mask, query_var). Unknown include values are silently ignored.
wppilot/ase-get-taxonomyGet ASE TaxonomyReads a single ASE CCT taxonomy definition by slug. Default shape: key, slug, title, labels (singular+plural), post_types, public, hierarchical, rest, source, editable. Opt-in expansion via include array: "labels_full" (all 26 ctax_label_* postmeta keys), "rewrite" (slug, with_front, hierarchical_urls, ep_mask, query_var). Unknown include values are silently ignored. No "capabilities" include - taxonomies use WordPress core's fixed capability model.
wppilot/ase-list-field-groupsList ASE Field GroupsLists ASE Custom Field Types (CFT) field groups with compact metadata (key, title, fields_count, target_summary, source, editable). Supports pagination (limit/offset) and substring search on title/key. Use wppilot/ase-get-field-group to fetch full location and field details for a specific group.
wppilot/ase-list-post-typesList ASE Post TypesLists ASE Custom Content Types (CCT) post type definitions with compact metadata (key, slug, title, public, hierarchical, taxonomies_count, source, editable). Supports pagination (limit/offset) and substring search on plural name (post_title). Use wppilot/ase-get-post-type to fetch full details for a specific post type.
wppilot/ase-list-taxonomiesList ASE TaxonomiesLists ASE Custom Content Types (CCT) taxonomy definitions with compact metadata (key, slug, title, public, hierarchical, post_types_count, source, editable). Supports pagination (limit/offset) and substring search on plural name (post_title). Use wppilot/ase-get-taxonomy to fetch full details for a specific taxonomy.
wppilot/ase-read-valuesRead ASE Field ValuesReads ASE Custom Field Types (CFT) values for a target: post (by post ID), term (by term ID), or options-page (by slug). Pass fields: [name, ...] to restrict to specific fields; omit to return all declared fields for the target. format controls the return format: api (default, ASE-processed), input (form-ready), raw (database string). only_with_values defaults to true - drops empty/null/[] entries to avoid flooding context with unfilled fields.

Admin Site Enhancements writes

AbilityWhat it does
wppilot/ase-create-field-groupCreate ASE Field GroupCreates a new ASE CFT field group. Provide a key (slug, lowercase letters/digits/hyphens/underscores, max 100 chars), title, optional fields[], location rules, and show_in_rest_api flag. Idempotent on identical re-create (returns created: false). Returns ase_field_group_exists when key exists with different data. Detects ase_field_name_collision when fields[] contains duplicate name values.
wppilot/ase-create-post-typeCreate ASE Post TypeCreates a new ASE CCT post type definition. Required: slug (1-20 chars, lowercase letters/digits/underscores/hyphens), title (plural name), labels.singular. Auto-generates all 31 cpt_label_* postmeta keys from singular+plural unless overridden via labels_full. Idempotent on identical re-create (returns created: false). Returns ase_post_type_slug_reserved when slug collides with a WordPress core post type. Returns ase_post_type_slug_conflict when slug exists with different data.
wppilot/ase-create-taxonomyCreate ASE TaxonomyCreates a new ASE CCT taxonomy definition. Required: slug (1-32 chars, lowercase letters/digits/underscores/hyphens), title (plural name), labels.singular. Auto-generates all 26 ctax_label_* postmeta keys from singular+plural unless overridden via labels_full. Default hierarchical=true (matches WP core category). Idempotent on identical re-create (returns created: false). Returns ase_taxonomy_slug_reserved when slug collides with a WordPress core taxonomy (category, post_tag, nav_menu, link_category, post_format). Returns ase_taxonomy_slug_conflict when slug exists with different data.
wppilot/ase-edit-field-groupEdit ASE Field GroupEdits an existing ASE CFT field group by key. Provide any subset of: title, fields[], location, show_in_rest_api. Missing keys are left unchanged (merge). When fields[] is provided it replaces the stored array atomically. When location keys are provided each top-level key replaces the matching stored key; absent location keys are preserved. Returns the full updated shape including fields[]. Editing also REPAIRS the stored structure to ASE's canonical shape: passing fields[] normalises every field to ASE's full key set, and any edit that touches show_in_rest_api fills the complete cfgroup_extras keys (order, context, hide_editor). This lets you repair a field group whose stored data is incomplete (e.g. one created before this normalisation) by re-saving it through this ability.
wppilot/ase-edit-post-typeEdit ASE Post TypeEdits an existing ASE CCT post type definition by slug. The slug itself cannot be changed - renaming requires delete + create. Provide any subset of fields to update; absent keys are left unchanged (merge semantics). supports[] and taxonomies[] replace atomically when provided. rest, labels_full, capabilities, and rewrite sub-objects are partial-merged per key. Important: changing labels.singular/plural does NOT re-generate the 27 auto-label keys - use labels_full overrides to update individual label strings. flush_rewrite_rules() is called after every update.
wppilot/ase-edit-taxonomyEdit ASE TaxonomyEdits an existing ASE CCT taxonomy definition by slug. The slug itself cannot be changed - renaming requires delete + create. Provide any subset of fields to update; absent keys are left unchanged (merge semantics). post_types[] replaces atomically when provided. rest, labels_full, and rewrite sub-objects are partial-merged per key. Important: changing labels.singular/plural does NOT re-generate the 26 auto-label keys - use labels_full overrides to update individual label strings. flush_rewrite_rules() is called after every update.
wppilot/ase-write-valuesWrite ASE Field ValuesWrites ASE Custom Field Types (CFT) values to a target: post (by post ID), term (by term ID), or options-page (by slug). Each field's outcome is reported independently in results[] - the call never aborts on partial failure. Unknown fields return ase_unknown_field, layout fields (tab/heading/line_break) return ase_layout_field_write, and successful writes return status: ok.

Destructive Admin Site Enhancements calls

AbilityWhat it does
wppilot/ase-delete-field-groupDelete ASE Field GroupPermanently deletes an ASE CFT field group by key. This removes the field group definition only - existing stored field values on posts/terms are not deleted. Idempotent: returns deleted: true even if the group does not exist.
wppilot/ase-delete-post-typeDelete ASE Post TypeDeletes an ASE CCT post type definition by slug. Safe by default: existing posts of the type are preserved in wp_posts (just unregistered). Pass force_delete_content: true to also hard-delete all posts of this type. Returns ase_post_type_not_found when the slug does not exist. flush_rewrite_rules() is called after deletion.
wppilot/ase-delete-taxonomyDelete ASE TaxonomyDeletes an ASE CCT taxonomy definition by slug. Safe by default: existing terms of this taxonomy are preserved. Pass force_delete_terms: true to also hard-delete all terms. Returns ase_taxonomy_not_found when the slug does not exist. flush_rewrite_rules() is called after deletion.

For the task-level view of Admin Site Enhancements, with worked requests and what to check afterwards, see Admin and Site Enhancements integration page.