Skip to content

Instantly share code, notes, and snippets.

@intelliweb
Last active November 28, 2017 19:00
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save intelliweb/7460525 to your computer and use it in GitHub Desktop.
Save intelliweb/7460525 to your computer and use it in GitHub Desktop.
Gravity Forms: automatically delete form entries from a specific form immediately after entry is submitted. Originally: http://www.gravityhelp.com/forums/topic/purposefully-not-save-form-in-entries-database#post-15601
<?php
// Delete form entry immediately after it is processed and saved
// change '_1' to the form ID
add_action('gform_post_submission_1', 'remove_form_entry', 10, 2);
function remove_form_entry($entry, $form){
global $wpdb;
$lead_id = $entry['id'];
$lead_table = RGFormsModel::get_lead_table_name();
$lead_notes_table = RGFormsModel::get_lead_notes_table_name();
$lead_detail_table = RGFormsModel::get_lead_details_table_name();
$lead_detail_long_table = RGFormsModel::get_lead_details_long_table_name();
//Delete from detail long
$sql = $wpdb->prepare(" DELETE FROM $lead_detail_long_table
WHERE lead_detail_id IN(
SELECT id FROM $lead_detail_table WHERE lead_id=%d
)", $lead_id);
$wpdb->query($sql);
//Delete from lead details
$sql = $wpdb->prepare("DELETE FROM $lead_detail_table WHERE lead_id=%d", $lead_id);
$wpdb->query($sql);
//Delete from lead notes
$sql = $wpdb->prepare("DELETE FROM $lead_notes_table WHERE lead_id=%d", $lead_id);
$wpdb->query($sql);
//Delete from lead
$sql = $wpdb->prepare("DELETE FROM $lead_table WHERE id=%d", $lead_id);
$wpdb->query($sql);
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment