Using Gravity Forms ‘gform_temp_file_expiration_days’ PHP filter

The gform_temp_file_expiration_days filter allows you to change the number of days before temporary file uploads are deleted.

Usage

add_filter('gform_temp_file_expiration_days', 'your_function_name');

Parameters

  • $expiration_days (int) – The number of days temporary files should remain in the uploads directory. Default is 2 or 30 if save and continue is enabled.
  • $form (Form Object) – The form currently being processed.

More information

See Gravity Forms Docs: gform_temp_file_expiration_days

This filter was introduced in Gravity Forms 2.1.3.5.

The source code for this filter is located in GFFormDisplay::clean_up_files() in form_display.php.

Examples

Set temporary file expiration to 90 days

This example changes the temporary file expiration period to 90 days.

add_filter('gform_temp_file_expiration_days', 'temp_file_expiration_days');
function temp_file_expiration_days($expiration_days) {
    $expiration_days = 90;
    return $expiration_days;
}

Set temporary file expiration based on form ID

This example sets the temporary file expiration period to 7 days for form with ID 5 and 14 days for form with ID 7.

add_filter('gform_temp_file_expiration_days', 'temp_file_expiration_by_form_id', 10, 2);
function temp_file_expiration_by_form_id($expiration_days, $form) {
    if ($form['id'] == 5) {
        $expiration_days = 7;
    } elseif ($form['id'] == 7) {
        $expiration_days = 14;
    }
    return $expiration_days;
}

Disable temporary file deletion

This example disables the automatic deletion of temporary files by setting the expiration period to a very large number.

add_filter('gform_temp_file_expiration_days', 'disable_temp_file_deletion');
function disable_temp_file_deletion($expiration_days) {
    $expiration_days = 999999;
    return $expiration_days;
}

Set temporary file expiration for specific form type

This example sets the temporary file expiration period to 45 days for forms with the title “Special Form”.

add_filter('gform_temp_file_expiration_days', 'temp_file_expiration_for_special_form', 10, 2);
function temp_file_expiration_for_special_form($expiration_days, $form) {
    if ($form['title'] == 'Special Form') {
        $expiration_days = 45;
    }
    return $expiration_days;
}

Set temporary file expiration based on user role

This example sets the temporary file expiration period to 60 days for users with the “editor” role.

add_filter('gform_temp_file_expiration_days', 'temp_file_expiration_for_editors', 10, 2);
function temp_file_expiration_for_editors($expiration_days, $form) {
    $user = wp_get_current_user();
    if (in_array('editor', (array) $user->roles)) {
        $expiration_days = 60;
    }
    return $expiration_days;
}