The gform_after_create_post action hook in Gravity Forms is executed after a post has been created, and it only applies to forms that contain Post Fields.
Usage
To apply the action to all forms:
add_action( 'gform_after_create_post', 'your_function_name' );
To apply the action to a specific form, append the form id to the end of the hook name, like so (in this case for form id 6):
add_action( 'gform_after_create_post_6', 'your_function_name' );
Parameters
- $post_id (integer): The ID of the post which was created from the form submission.
- $entry (Entry Object): The entry currently being processed. Available from version 1.9.13.
- $form (Form Object): The form currently being processed. Available from version 1.9.13.
More information
See Gravity Forms Docs: gform_after_create_post
Source Code: You can find the gform_after_create_post
hook in the forms_model.php
file, inside the GFFormsModel::create_post()
function.
Version: This hook was implemented in Gravity Forms 1.9.13.
Examples
Updating the post content with submitted field values
In this example, the post content is updated with values from the form submission, including an image field.
add_action( 'gform_after_create_post', 'set_post_content', 10, 3 ); function set_post_content( $post_id, $entry, $form ) { // Get the post $post = get_post( $post_id ); // Update post content $post->post_content = 'Blender Version:' . rgar( $entry, '7' ) . "<br/> <img src='" . rgar( $entry, '8' ) . "'> <br/> <br/> " . rgar( $entry, '13' ) . " <br/> <img src='" . rgar( $entry, '5' ) . "'>"; // Save changes wp_update_post( $post ); }
Converting a date to the format expected by ACF datepicker field type
This example demonstrates how to convert a Gravity Forms date field to the format expected by an ACF datepicker field type, and save it to a custom field.
add_action( 'gform_after_create_post_12', 'gf_date_to_acf', 10, 3 ); function gf_date_to_acf( $post_id, $entry, $form ) { // Date as saved by GF $gf_date = rgar( $entry, '30' ); // Date changed to format expected by ACF $acf_date = date( 'Ymd', strtotime( $gf_date ) ); // Save converted date to the acf_date meta key update_post_meta( $post_id, 'acf_date', $acf_date ); }
Updating a post custom field with serialized GF checkboxes
This example shows how to save the selections of a Gravity Forms checkboxes field in a post custom field as a serialized array, which is useful for plugins like Advanced Custom Fields (ACF), Types, and Pods.
add_filter( 'gform_after_create_post_1', 'gf_post_acf_checkboxes', 10, 3 ); function gf_post_acf_checkboxes( $post_id, $entry, $form ) { // Checkboxes field id $field_id = 18; // Get field object $field = GFAPI::get_field( $form, $field_id ); if ( $field->type == 'checkbox' ) { // Get a comma separated list of checkboxes checked $checked = $field->get_value_export( $entry ); // Convert to array $values = explode( ', ', $checked ); } // Update the custom field with the array of selected values update_post_meta( $post_id, 'my_custom_field_key', $values ); }
Note: Make sure to replace 'my_custom_field_key'
with your actual meta key and to place this code in the functions.php
file of your active theme.