FREEForms UI

Manage Advanced ACF Forms from the WordPress administration. This module is an enhanced version of the native ACF Form feature. While all native settings can used, Dynamic Forms adds many new settings and introduce “Actions” for a complete control over the form behavior.

Dynamic Form

The unique form slug

Render & map fields of the following field groups

Add actions on form submission

Click the "Add action" button below to start creating your layout
0 Custom action

Set a unique action slug.

0 Email action
0 Option action

(Optional) Target this action using hooks.

Fill inputs with values

0 Post action

(Optional) Target this action using hooks.

Click to initialize TinyMCE

Fill inputs with values

0 Redirect action

(Optional) Target this action using hooks.

The URL to redirect to. See "Cheatsheet" tab for all available template tags.

0 Term action

(Optional) Target this action using hooks.

Click to initialize TinyMCE

Fill inputs with values

0 User action

(Optional) Target this action using hooks.

Click to initialize TinyMCE

Fill inputs with values

1 Post action

(Optional) Target this action using hooks.

Click to initialize TinyMCE

Fill inputs with values

Apply field groups locations rules for front-end display

Whether or not to create a <form> element

Form class and id

class
id

Add class to all fields

wrapper class
input class

Whether or not to create a form submit button. Defaults to true

The text displayed on the submit button

HTML used to render the submit button.

HTML used to render the submit button loading spinner.

Whether to include a hidden input field to capture non human form submission. Defaults to true.

Whether or not to sanitize all $_POST data with the wp_kses_post() function. Defaults to true.

Whether to use the WP uploader or a basic input for image and file fields. Defaults to 'wp' Choices of 'wp' or 'basic'.

Determines element used to wrap a field. Defaults to 'div'

Determines where field labels are places in relation to fields. Defaults to 'top'.
Choices of 'top' (Above fields) or 'left' (Beside fields)

Determines where field instructions are places in relation to fields. Defaults to 'label'.
Choices of 'label' (Below labels) or 'field' (Below fields)

Override the native field groups HTML render

Extra HTML to add before the fields

Render your own customized HTML.

Extra HTML to add after the fields

Hide the general error message: "Validation failed. 1 field requires attention"

Hide the successful notice when an error has been thrown

Do not prompt user on page refresh

Choose where to display field errors

Add class to error message

Hide form on successful submission

A message displayed above the form after being redirected. See "Cheatsheet" tab for all available template tags.

HTML used to render the updated message.
If used, you have to include the following code %s to print the actual "Success message" above.

Retrieve actions output

Last Term Action
{action:term:ID}23
{action:term:post_title}Term
{action:term:admin_url}https://www.acf-extended.com/wp-admin/term.php?tag_ID=23
{action:term:permalink}https://www.acf-extended.com/taxonomy/term
See {term} for all available tags

Term Action Named my-term
{action:my-term:ID}23
{action:my-term:post_title}Term
{action:my-term:admin_url}https://www.acf-extended.com/wp-admin/term.php?tag_ID=23
{action:my-term:permalink}https://www.acf-extended.com/taxonomy/term
See {term} for all available tags

Retrieve actions output

Last User Action
{action:user:ID}1
{action:user:user_login}login
{action:user:user_email}[email protected]
{action:user:user_url}https://www.website.com
{action:user:permalink}https://www.acf-extended.com/author/johndoe
See {user} for all available tags

User Action Named my-user
{action:my-user:ID}1
{action:my-user:user_login}login
{action:my-user:user_email}[email protected]
{action:my-user:user_url}https://www.website.com
{action:my-user:permalink}https://www.acf-extended.com/author/johndoe
See {user} for all available tags

Retrieve actions output

Last Email Action
{action:email:from}Contact
{action:email:to}[email protected]
{action:email:reply_to}[email protected]
{action:email:cc}[email protected]
{action:email:bcc}[email protected]
{action:email:subject}Subject
{action:email:content}Content

Email Action Named my-email
{action:my-email:from}Contact
{action:my-email:to}[email protected]
{action:my-email:reply_to}[email protected]
{action:my-email:cc}[email protected]
{action:my-email:bcc}[email protected]
{action:my-email:subject}Subject
{action:my-email:content}Content

PROActive Forms

The pro version allows developers to manually activate Forms individually using the “Active” switch in the sidebar.

Forms Integration

Use PHP code or WordPress Shortcode to display the forms on the front-end, override settings or pass custom data.

Learn more

Forms Cheatsheet

Dynamic Forms have many Template Tags available that can be used in the UI. Those tags let you retrieve various dynamic data in order to customize the form behavior.

Learn more

Forms Helpers

You may use different PHP helpers in the forms hooks in order to cutomize actions behaviors.

Learn more

Forms Hooks

Dynamic Forms are bundled with general hooks allowing you to change the form settings, add validation rules and trigger a custom action on submission. Those hooks are tied to forms, and act independently from Actions.

Learn more

Forms Actions

Actions are pre-defined templates that trigger a specific behavior. There can be an unlimited number of Actions per form. While every Actions have unique features like create a post, a user or send an e-mail, they also have their own validation & submit hooks.

Form Actions also have their own specific hooks that allow you to change their behavior. Learn more about Actions:

Custom Action
E-mail Action
Option Action PRO
Post Action
Redirect Action
Term Action
User Action

Export/Import Forms

It is possible to export and import Forms in a Json file using the ACF > Tools menu or directly within the Dynamic Forms UI.

Hide the module menu

ACF Extended use the native ACF setting show_admin to determine if the module menu should be displayed or not. You can read more about that setting on the ACF article How to hide ACF menu from clients. Usage example:

add_filter('acf/settings/show_admin', '__return_false');

Disable The Module

The Form module is enabled by default. It can be enabled and disabled in the Settings UIPRO, or with the following code:

// Using acf/init
add_action('acf/init', 'my_acfe_modules');
function my_acfe_modules(){

    // Disable Dynamic Forms
    acf_update_setting('acfe/modules/forms', false);
    
}

// Or using acfe/init
add_action('acfe/init', 'my_acfe_modules');
function my_acfe_modules(){
    
    // Disable Dynamic Forms
    acfe_update_setting('modules/forms', false);
    
}