// fire the action for all forms add_action( 'gform_after_submission', 'my_remove_entries' ), 10, 2 ); // to only fire the action for a specific form, replace the "2" with the ID of your form // add_action( 'gform_post_submission_2', 'my_remove_entries', 10, 2 ); function my_remove_entries( $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 ); }