Description
This filter allows you to modify the $post_id before any custom field data is saved from the front end form (acf_form()). This filter is used in the tutorial Using acf_form to create a new post.
This filter is not required to create a new post due to the new_post
argument added to acf_form() in v5.0.0
Changelog
- Added in v4.0.0
Parameters
Name | Type | Description |
---|---|---|
post_id |
int | The post ID to which all the $_POST data (values) will be saved to |
Usage
This code could be used in the functions.php file, or on the page template which features the front end form (above the acf_form_head function)
functions.php
<?php
function my_pre_save_post( $post_id ) {
// check if this is to be a new post
if( $post_id != 'new' ) {
return $post_id;
}
// Create a new post
$post = array(
'post_status' => 'draft' ,
'post_title' => 'A title, maybe a $_POST variable' ,
'post_type' => 'post' ,
);
// insert the post
$post_id = wp_insert_post( $post );
// return the new ID
return $post_id;
}
add_filter('acf/pre_save_post' , 'my_pre_save_post', 10, 1 );
?>