bookmark_bordergform_after_save_form

Description

Use this action hook to perform actions right after a form is created or updated.

Usage

add_action( 'gform_after_save_form', 'log_form_save', 10, 2 );

Parameters

  • $form

    Current form.

  • $is_new bool

    True if this is a new form being created. False if this is an existing form being updated.

Examples

1. Log form creation/update.

This example adds a log file entry when a form is updated or created.

add_action( 'gform_after_save_form', 'log_form_saved', 10, 2 );
function log_form_saved( $form, $is_new ) {
    $log_file = ABSPATH . '/gf_saved_forms.log';
    $f = fopen( $log_file, 'a' );
    $user = wp_get_current_user();
    if ( $is_new ) {
        fwrite( $f, date( 'c' ) . " - Form created by {$user->user_login}. Form ID: {$form["id"]}. n" );
    } else {
        fwrite( $f, date( 'c' ) . " - Form updated by {$user->user_login}. Form ID: {$form["id"]}. n" );
    }
    fclose( $f );
}

2. Add default fields on form creation.

This example shows how you can add some default fields to the form when creating new forms.

add_action( 'gform_after_save_form', 'add_default_fields', 10, 2 );
function add_default_fields( $form, $is_new ) {
    if ( $is_new ) {
        $form['fields'] = array(
            array(
                'type'         => 'hidden',
                'label'        => 'First Name',
                'id'           => 1,
                'defaultValue' => '{user:first_name}',
                'formId'       => $form['id'],
            ),
            array(
                'type'         => 'hidden',
                'label'        => 'Email',
                'id'           => 2,
                'defaultValue' => 'user:user_email',
                'formId'       => $form['id'],
            ),
        );
        GFAPI::update_form( $form );
    }
}

3. Set default notification properties.

This example shows how you can set the default notification properties when creating new forms.

add_action( 'gform_after_save_form', 'set_default_notification_to', 10, 2 );
function set_default_notification_to( $form, $is_new ) {
	if ( $is_new ) {
		foreach ( $form['notifications'] as &$notification ) {
			$notification['to'] = 'name@domain.com';
		}

		$form['is_active'] = '1';

		GFAPI::update_form( $form );
	}
}

Source Code

This action hook is located in GFFormDetail::save_form_info() in form_detail.php