Complete Guide to use ACF Forms on Frontend

If you want to create frontend forms using ACF (Advanced Custom Fields)—including the ability to submit or edit content from the front end—the ACF Front Form shortcode makes it straightforward.

This guide explains how to insert the form using [acf_front_form] and provides a clear breakdown of every supported shortcode attribute.

Get the plugin

To use this shortcode, you’ll need the plugin that provides ACF Front Form Shortcode functionality.

How to insert the ACF Front Form

Use this shortcode anywhere in WordPress content:

[acf_front_form field_group_id="123"]

field_group_id is required, and everything else is optional depending on your use case.

Shortcode Attributes

  • field_group_id(Required)
    (String) Group IDs/keys to override the fields displayed in this form.
  • form_id
    (String) A unique identifier for the form. Defaults to “acf-form”.
  • post_status
    (String) Post status while adding new post via ACF Front Form. Defaults to “draft“. Choices of “publish“, “pending“, “draft“.
  • post_title
    (Boolean) Whether or not to show the post title text field. Defaults to false.
  • post_content
    (Boolean) Whether or not to show the post content editor field. Defaults to false.
  • submit_value
    (String) The text displayed on the submit button.
  • updated_message
    (String) The message displayed above the form after being redirected. Can also be set to false for no message.
  • label_placement
    (String) Determines where field labels are placed in relation to fields. Defaults to “top“. Choices of “top” (above fields) or “left” (beside fields).
  • instruction_placement
    (String) Determines where field instructions are placed in relation to fields. Defaults to “label“. Choice of “label” (below labels) or “field” (below fields).
  • field_el
    (String) Determines elements used to wrap a field. Defaults to “div“. Choices of “div“, “tr“, “td“, “ul“, “ol“, “dl“.
  • honeypot
    (Boolean) Whether to include a hidden input field to capture non-human form submission. Defaults to true.