Description
ACPT lets you create and manage custom post types, taxonomies, fields, and templates without writing code. Ideal for anyone looking to turn WordPress into a true CMS, it offers advanced visual features and integration with popular plugins, making it easy to build complex structures.
Key Features
-
Creating CPTs with a Visual Interface
Set up custom post types with an intuitive, detailed panel. -
Custom Field Generator
Add text, image, boolean, repeater, and more field types, with support for conditional logic. -
Taxonomy Management
Create custom categories and tags to organize CPT content. -
Relationships Between Posts
Link posts of different types with bidirectional relationship fields. -
Customizable Templates and Layouts
Use shortcodes and functions to display field data anywhere on the site. -
Import and Export
Export the entire structure you have created to migrate or replicate it in other projects with ease. -
Compatible with Gutenberg, Elementor, and More
Seamless integration with the main page builders.
ACPT Benefits
-
Total Autonomy Without Code
Create advanced WordPress structures without writing a single line of code. -
Flexibility for Any Project
Ideal for sites with specific content and organization needs. -
Scalability and Organization
Makes it easier to manage large volumes of content in a structured, personalized way.
Who Is It For?
-
Developers who want to speed up the creation of CPTs and custom fields.
-
Agencies that need to build custom solutions for different clients.
-
Content creators looking to better organize their posts in the WordPress dashboard.
ACPT turns the WordPress dashboard into a powerful content management tool, delivering a robust, visual, and highly flexible solution for custom projects.
Frequently asked questions
Is ACPT GPL-licensed?
Yes. ACPT is distributed under the GPL (GNU General Public License). You may legally use, modify and redistribute it on as many sites as you want.
Can I use ACPT on multiple sites?
Yes. You can install ACPT on as many sites as you want. Only automatic updates through Ultrapack Auto Updater have a limit: from 3 to 80 sites, depending on the plan.
How much does ACPT cost at Ultrapack?
ACPT costs US$2.99 as a single purchase, and it is also included in the subscription plans starting at US$12/mo (VIP I).
Does ACPT include updates?
Yes. The current version of ACPT is 2.1.1, published at Ultrapack on Sep 26, 2026. Subscribers update straight from the WordPress dashboard with UAU (Ultrapack Auto Updater).
Is ACPT scanned before publication?
Yes. Every version of ACPT goes through a malware scan (ClamAV and YARA rules, at UltraHub) before it is published.
What are the requirements for the plugin ACPT?
Requires WordPress 6.5 or higher.
What changed in this version
Version 2.1.1 2026-09-25
- Bug-fix release for issues reported after 2.1.0.
- Meta fields
- Saving a field group failed with "`Value` key is mandatory" - a field option row without a value (e.g. a stale row reaching an Image field) aborted the whole group save. Such rows are now skipped, and a row with a label but no value falls back to its label (Ticket #1349).
- Saving an "All users" / "All comments" location rule fataled - the empty `find` the UI submits for these rule types is now normalised instead of throwing (Ticket #1339).
- Currency / Weight / Length fields fataled the post editor when a default unit was set without a default amount (`explode: Argument #2 must be of type string, array given`) (Ticket #1346).
- Required fields rejected `0` - a required Number field set to `0` failed with "Expected a non-empty value" in the admin and "The field is required" on front-end forms (Ticket #1338).
- Field groups did not show on taxonomies registered by other plugins (e.g. WooCommerce Product categories) - they could be selected as a location but never rendered or saved (Ticket #1337).
- Link fields without link text returned a plain URL string instead of the `{url, label}` array 2.0.x returned, so they rendered empty in Elementor Pro, Bricks, Divi, Oxygen, Yoast, WP Grid Builder and Zion, and an Elementor Pro display condition on them fataled (Ticket #1341).
- Option pages
- Repeater "Add element" did nothing on option pages - the AJAX row generation fataled with a `Strings::toDBFormat` TypeError, affecting every repeater on an option page (Ticket #1333).
- Form submissions bypassed ACPT permissions - field- and column-level permissions are now enforced on submission, and forms writing CCT records require the table's create/update permission (Ticket #1345).
- Gutenberg
- ACPT blocks rendered empty on the front end - the Basic, Repeater and Relational field blocks and all Dynamic Blocks were registered only in editor contexts, so on the front end WordPress never called their render callback (Ticket #1348).
- Basic Fields block showed "Error loading block: [object Object]" in the Site Editor for fields with large settings - the preview request exceeded the server URL limit; it is now sent via POST (Ticket #1322).
- Integrations
- SEOPress: pages crashed when an ACPT field rendered empty or `0` - the SEOPress integration returned `null` from a string-typed method whenever a field value rendered to an empty string or `0`, a fatal error on every page where SEOPress builds its dynamic variables (single posts, archives, and the Breakdance builder preview). It now returns an empty string (Ticket #1335).
- Breakdance/Oxygen 6 native Repeater Field element could white-screen - `ACPTRepeaterField::hasSubFields` left an internal value undefined when a repeater's meta group belonged to something other than a post type, taxonomy, or option page, instead of resolving cleanly to "no rows"; `ACPTField::getValue` and `RawValueConverter::convert` also only guarded against `\Exception`, not every PHP error type, and Breakdance's own dynamic-data render chain has no error handling of its own, so any uncaught error here white-screened the whole page.
- REST API
- `PUT /acpt/v1/meta/{id}` rejected the unchanged output of `GET` - read-only keys returned by GET are now accepted, missing settings (group display/context/priority, box settings) were added to the schema, and updating a field keeps its position (Ticket #1347).
- Miscellaneous
- Address map never loaded when another ACPT script was on the page - seven static scripts overwrote each other's `window.onload`; they now use `addEventListener('load', ...)` (Ticket #1344).
- Caught errors re-crashed the page when ACPT logging was enabled - the `acpt/error` logger only accepted `\Exception`, so an `\Error` caught by ACPT's own safety nets (Breakdance, field-group visibility, location rules...) threw a new fatal from inside the logger. It now accepts any `\Throwable`.
- PHP 8.4 deprecation notices - `OptionPageModel::duplicate` and `MetaBoxModel::__construct` implicitly marked a typed parameter as nullable via a `null` default instead of an explicit `?type`, both deprecated as of PHP 8.4.
Version 2.1.0 2026-09-21
- 2.1.0 is a major feature release. It introduces Custom Content Types (your own MySQL tables, fully independent of `wp_postmeta`), the unified Canvas UI drag-and-drop builder, the Meta Keys Manager, WordPress-native Block Bindings, and a complete Abilities API (57 MCP-exposed operations), and completes the WCAG 2.1 AA accessibility roadmap for the React admin UI - alongside several hundred bug fixes accumulated across the 2.1.0-beta cycle and this release's pre-ship regression pass. It consolidates the 2.1.0-beta-1 through 2.1.0-beta-6 pre-releases into a single stable entry.
- Custom Content Types (CCT)
- Custom Content Types - create and manage fully custom MySQL (InnoDB) tables directly from the ACPT admin, each with its own schema, auto-generated record manager, and optional REST API, completely independent from `wp_postmeta`. Opt-in via ACPT → Settings → Content settings.
- Table Groups - link one or more CCT tables to WordPress contexts (post types, taxonomies, users, option pages) via configurable location rules, with four display modes: Standard, Accordion, Vertical Tabs, Horizontal Tabs.
- 30+ column types - `VARCHAR`, `TEXT`, `LONGTEXT`, `BIGINT`, `DECIMAL`, `DATE`, `DATETIME`, `TIME`, `TINYINT(1)`, `JSON`, `BLOB`, plus VIRTUAL pseudo-types for Repeater and Flexible block columns. Each maps to a generated admin input and a typed REST property.
- Repeater and Flexible block columns - nestable column types stored as JSON.
- Relational columns - link a record to another CCT table, a post, a term, a user, or an option page, with optional bidirectional sync.
- Foreign keys - database-level `FOREIGN KEY` constraints with configurable `ON DELETE` / `ON UPDATE` (`CASCADE`, `SET NULL`, `RESTRICT`, `NO ACTION`).
- Database indexes - `INDEX`, `UNIQUE`, `FULLTEXT`, `SPATIAL` on any column or combination.
- Custom primary keys - designate any column as the primary key, with optional `AUTO_INCREMENT`; or use the implicit `AUTO_INCREMENT` / `UUID v4` / `ULID` id column (Ticket #1166).
- Timestamps and soft delete - opt-in `created_at` / `updated_at` and a `deleted_at` soft-delete column, with an All/Trash records view (per-row and bulk Restore / Delete Permanently / Empty Trash).
- Schema sync - ACPT creates and migrates the physical table on save; the table list shows a per-row schema-status indicator and a one-click sync.
- CCT REST API - per-table CRUD at `/wp-json/acpt/v1/{tableName}` (opt-in per table), with `page`, `per_page`, `orderby`, `order`, and per-column filters; file columns accept `multipart/form-data`.
- Table metabox settings - per-table `context` (normal/side/advanced), `priority`, hide-title, and hide-toggle controls for the record metabox, matching meta-group box settings.
- CCT fallbacks in core functions - `get_acpt_fields`, `acpt_field_has_rows`, `acpt_field_has_blocks`, and `is_acpt_field_visible` transparently resolve CCT tables/columns, so existing templates work unchanged.
- Import / export - Tables and Table Groups can be exported and re-imported alongside CPTs, taxonomies, option pages, meta groups, and forms, preserving repeater/flexible hierarchies and foreign keys regardless of order in the file.
- Canvas UI
- Unified Canvas UI - one drag-and-drop builder across meta fields, forms, CCT table columns, dynamic block controls, option pages, and WooCommerce product data. Built on `@dnd-kit` and `react-resizable-panels`.
- No-distraction mode, resizable panels, and an advanced-mode toggle, all persisted per entity.
- Inline editing - click-to-edit a field's label / name / type directly on the canvas, plus inline switch toggles (Show in archive, Filterable, Quick edit, Required) on each row, with name-uniqueness validation shared between canvas and sidebar.
- Keyboard-accessible drag-and-drop with live-region announcements (WCAG 2.1.1 / 4.1.3).
- Meta Keys Manager
- Meta Keys Manager (ACPT → Tools → Meta Keys Manager) - lists every meta key in the database regardless of origin, with Key / Field type / Context / Associated to / Value / Actions columns, search, context filter, sorting, pagination, single-click inline value editing, and bulk Delete / Export CSV / Export JSON.
- Meta Fields
- Message field - static, HTML-formatted informational text (no stored value); available for Meta Fields, Forms, and CCT columns.
- Post Format as a meta-group location condition (Ticket #1192).
- Box-level conditional visibility - a metabox's visibility can depend on another field's live value ("Other fields" / "Other columns"), matching field-level conditional rendering.
- "Fill table" action - write a submission directly into a CCT record (create or update), with a per-column mapping UI.
- `record_id` attribute on `[acpt_form]` - bind a form to an existing CCT record for editing.
- Submission limits converted to a flexible list layout.
- Gutenberg
- Block Bindings - bindable meta fields (20 types including Text, Textarea, Editor, Number, Email, Image, Url, Select, Date, Color) can be connected to core blocks (Paragraph, Heading, Image, Button, ...) through WordPress's own native Block Bindings UI (WP 6.7+), with an inline-edit affordance for eligible text bindings. ACPT registers `acpt/field` as a core binding source - there is no custom panel.
- Abilities API
- Full Abilities API - 57 MCP-exposed, schema-validated operations covering custom post types, taxonomies, meta groups/boxes/fields, field values, option pages, forms, dynamic blocks, and Custom Content Types (tables, table groups, records). All share one `AbstractAbility` base and register through both WP core's Abilities API and the ACFW (agent-connector-for-wp) integration with audit-log wrapping. Requires WordPress 6.9+ (or the Abilities API feature plugin).
- Integrations
- CCT support across Divi, Elementor, Bricks, Breakdance, Yoast, WPML, RankMath, WPGraphQL, WP All Export, WP All Import, GenerateBlocks, WP Grid Builder, SEOPress, and Slim SEO.
- FacetWP - new integration indexing ACPT meta fields (including Repeater) for facets.
- Divi 5 - Dynamic Tags integration.
- Etch - native integration (no external patches required).
- Import / Export
Release notes published by the developer.
How to install
Automatic updates: this item is updated by the Ultrapack Auto Updater. With it installed, the new version shows up in your dashboard like any other WordPress update (how to set it up).
- Download the file
advanced-custom-post-type.zip. - In the WordPress dashboard, go to Plugins > Add New > Upload Plugin.
- Select the file
advanced-custom-post-type.zipand click Install Now. - Click Activate.
Requirements: Requires WordPress 6.5 or higher.
Stuck on a step? Open a ticket telling us which one you stopped at.

UAU Ready