ACPT v2.1.1 WordPress Plugin

ACPT – The Complete Custom Post Type Framework is a powerful WordPress plugin designed to simplify the creation and management of custom post types, taxonomies, option pages, and meta fields. Built for developers and non-coders alike, ACPT provides an intuitive and streamlined interface that empowers users to build complex, data-driven websites in just minutes—without touching a single line of code. Whether you’re crafting a portfolio site, directory, or any content-rich project, ACPT removes the friction from setting up structured content in WordPress.

This all-in-one framework doesn’t stop at post types. It includes an advanced meta field manager with support for over 40 field types, making it easy to attach detailed and dynamic data to any post type. You can also create and configure custom option pages effortlessly, ensuring global settings are organized and accessible. With one-click taxonomy linking and a unified workflow, ACPT helps users take full control of their WordPress content architecture faster and smarter.

NameACPT
TypeWordPress Plugin
Version2.1.1
LicenseGPL v2
Last Updated
Live DemoView Demo

Core Features of ACPT WordPress Plugin

  • Quick Custom Post Type Creation: Register new post types in under 30 seconds
  • Advanced Meta Field Manager: Choose from over 40 field types to build rich content structures
  • Custom Taxonomies: Easily create and link taxonomies to post types with one click
  • Option Pages Builder: Design and manage global settings pages within a single, intuitive interface
  • Intuitive UI: Designed for ease of use by both developers and non-coders
  • All-in-One CPT Solution: Manage post types, fields, taxonomies, and options from one plugin
  • Dynamic Content Control: Assign custom fields to posts, pages, or custom post types
  • Scalable for Complex Sites: Suitable for directories, portfolios, listings, and more
  • Optimized Workflow: Everything from setup to deployment is designed for speed and simplicity
  • No Coding Required: Visual tools let you configure everything from field logic to display rules

What’s New (Changelog) in ACPT v2.1.1

## [2.1.1] - 2026-09-25

Bug-fix release for issues reported after 2.1.0.

### Fixed

#### 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).

#### Forms

- **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.

Download ACPT Latest Version

Join to Download
You can download this product for free by joining our membership.
Instant access to all files with unlimited downloads for unlimited sites.
Share This Article!

Leave a Reply

Your email address will not be published. Required fields are marked *

Verify you're human
9 - 4 =