Description
Used to process, validate and save the submitted form data created by the acf_form() function. It will also enqueue all ACF related scripts and styles for the form to display correctly.
This function must be placed before any HTML has been output, preferably above the get_header()
function of your theme file.
Parameters
acf_form_head();
Example
This example demonstrates a basic acf_form()
to edit the current post being viewed.
<?php acf_form_head(); ?>
<?php get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php acf_form(); ?>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Actions & Filters
The following actions and filters are provided to customize the submission process.
-
acf/pre_submit_form
This filter is run after a form has been submit, and before any data has been saved. Use this filter to modify the$form
array before$_POST
data is saved.add_filter('acf/pre_submit_form', 'my_acf_pre_submit_form', 10, 1); function my_acf_pre_submit_form( $form ) { // Create post using $form['new_post']. // Modify $form['redirect']. return $form; }
-
acf/pre_save_post
This filter is run after the acf/pre_submit_form filter, and before any data has been saved. Use this filter to modify the$post_id
value used to save the$_POST
data.add_filter('acf/pre_save_post', 'my_acf_pre_save_post', 10, 2); function my_acf_pre_save_post( $post_id, $form ) { // Create post using $form and update $post_id. return $post_id; }
-
acf/save_post
This action runs when ACF saves the$_POST
data. For more information, please refer to the acf/save_post guide.add_action('acf/save_post', 'my_acf_save_post', 20); function my_acf_save_post( $post_id ) { // Get new value. $value = get_field('my_field', $post_id); // Do something. }
-
acf/submit_form
This action runs after the$_POST
data has been saved. Use this action to perform custom logic before the return setting is used to redirect the browser.add_action('acf/submit_form', 'my_acf_submit_form', 10, 2); function my_acf_submit_form( $form, $post_id ) { // Get new value. $value = get_field('my_field', $post_id); // Redirect. wp_redirect( 'http://www.website.com/' . $value ); exit; }
Changelog
acf/pre_submit_form
added in version 5.5.10acf/submit_form
added in version 5.5.10acf/pre_save_post
added in version 4.1.6
Supercharge Your Website With Premium Features Using ACF PRO
Speed up your workflow and unlock features to better develop websites using ACF Blocks and Options Pages, with the Flexible Content, Repeater, Clone, Gallery Fields & More.