The gform_post_form_activated action in Gravity Forms is triggered after an inactive form is marked as active, allowing further actions to be performed.
Usage
add_action('gform_post_form_activated', 'my_function', 10, 2);
Parameters
$form_id(int): The ID of the form that is being marked as active.
More information
See Gravity Forms Docs: gform_post_form_activated
This action hook is located in forms_model.php.
Examples
Send an email notification when a form is activated
This example sends an email notification to the admin when a form is activated.
function send_email_on_form_activation($form_id) {
$to = '[email protected]';
$subject = 'Form Activated';
$message = "Form ID {$form_id} has been activated.";
wp_mail($to, $subject, $message);
}
add_action('gform_post_form_activated', 'send_email_on_form_activation', 10);
Log form activation
This example logs form activation to a custom log file.
function log_form_activation($form_id) {
$log_file = WP_CONTENT_DIR . '/form_activation.log';
$current_time = date('Y-m-d H:i:s');
$log_entry = "{$current_time} - Form ID {$form_id} activated" . PHP_EOL;
file_put_contents($log_file, $log_entry, FILE_APPEND);
}
add_action('gform_post_form_activated', 'log_form_activation', 10);
Update form metadata
This example updates the form metadata when a form is activated.
function update_form_meta_on_activation($form_id) {
$activation_time = time();
gform_update_meta($form_id, 'activation_time', $activation_time);
}
add_action('gform_post_form_activated', 'update_form_meta_on_activation', 10);
Perform an action in a custom plugin
This example triggers a custom action in your plugin when a form is activated.
function my_plugin_form_activation($form_id) {
// Your custom plugin code to perform an action on form activation
}
add_action('gform_post_form_activated', 'my_plugin_form_activation', 10);
Send data to an external API
This example sends form activation data to an external API.
function send_form_activation_to_api($form_id) {
$api_url = 'https://example.com/api/form_activation';
$response = wp_remote_post($api_url, array(
'body' => array(
'form_id' => $form_id,
'timestamp' => time()
)
));
}
add_action('gform_post_form_activated', 'send_form_activation_to_api', 10);