For the complete documentation index, see llms.txt. This page is also available as Markdown.

General settings

Core fields

Field
Required
Description

Name

Yes

Machine-readable identifier for the form. Used internally and in shortcodes. Must be alphanumeric.

Label

No

Human-readable title shown above the form on the front end. Falls back to Name when left blank.

Key

—

Auto-generated 8-character random string. Acts as a stable shortcode handle; can be regenerated without affecting saved data.

Action

Yes

Determines what happens when the form is submitted (see below).

Successful outcome message

No

Text shown in a green alert on successful submission. Defaults to "The form was successfully submitted".

Redirect after submission

No

URL to redirect to after a successful submission. Leave blank to stay on the same page.


Form actions

The action you choose determines which additional fields appear and how the submitted data is processed.

Email

Sends the submitted data to one or more recipients via email. Configure recipients, subject, body, and template on the Email settings tab.

No further fields appear here; all email configuration lives on its own settings tab.

Ajax

Runs a custom JavaScript handler after the form is submitted via AJAX.

Required field — Ajax action: the name of the WordPress wp_ajax_{action} hook to call on the server side.

Optional field — Ajax handling: JavaScript executed after the AJAX call resolves. The data variable holds the server's response:

Custom

Posts the form to a custom URL instead of the default ACPT handler.

Required fields:

  • Custom action — the target URL.

  • Method — POST or GET.

Post Management (Fill Meta)

Saves submitted values directly into ACPT meta fields attached to a post, term, or user.

No additional code is needed. Configure the target in the Meta fields mapping section (see below).

Fill Table (CCT)

Inserts or updates a record in a Custom Content Type table directly from the front end.

Required field — Table to fill: the CCT table that will receive the submitted data.

Optional field — Record: pin the form to a specific existing record. When set, submitting the form always updates that record. When left blank, a new record is inserted on each submission unless a record ID is supplied at runtime via the shortcode.

You can pass a record ID dynamically at render time using the record_id shortcode attribute:

Record ID resolution priority (highest → lowest):

  1. An ID field present in the submitted form data.

  2. The Record setting saved in the form's general settings.

  3. The record_id shortcode attribute.

If none of the above resolves to a record, a new row is inserted.

See Edit an existing CCT record for a complete walkthrough.

PHP

Executes a custom PHP snippet after submission. ACPT overwrites $_POST and $_FILES with sanitized form data before running your code:


Meta fields mapping

Regardless of the action, this section lets you bind meta field groups to the form builder so that their fields are available as form inputs.

  1. Belongs to — choose whether to bind meta fields from a Custom Post Type, a Taxonomy, an Option page, or Users.

  2. Find — select the specific post type, taxonomy, or option page.

  3. Target (optional) — pin the form to a specific post, term, page, or user. When left blank, ACPT creates a new record on submission (for Post Management action) or writes to the current context.

  4. Post status (Post Management / CPT only) — the WordPress status to assign when a new post is created (e.g. publish, draft).

After choosing the source, the list of available meta fields appears. Check the ones you want to expose in the form builder.

Click Save to persist the configuration, then open the Manage link on the forms list to open the form builder and arrange the selected fields.

Last updated