criação de sites com SEO desenvolvimento de páginas web websites agencia

Como remover entradas armazenadas no Gravity Forms?

A AltoSite é uma agência especialista em Criação de Sites e Otimização para o Google. Se você deseja maiores informações, clique abaixo para falar conosco.

Como remover entradas armazenadas no Gravity Forms?

gravity forms excluir registros wordpressO Gravity Forms é com certeza o plugin mais completo para criação de formulários em Sites WordPress.

Um diferencial que este plugin tem em relação aos demais, como o contact-form 7, é a capacidade de armazenar no banco de dados todos os formulários que são preenchidos. Desta forma, você receberá os formulários preenchidos por e-mail e ainda terá um backup do formulário no site.

Porém, nem sempre é bom deixar estes formulários armazenados no seu banco de dados. Imagine um caso onde você receba informações extremamente sigilosas através dos formulários. Se alguém conseguir acesso ao seu banco de dados, isto poderá trazer diversas consequências.

Então, para remover as entradas armazenadas no Gravity Forms automaticamente após o envio de cada formulário, basta você fazer uma pequena alteração no arquivo functions.php do seu tema WordPress:

Remover entradas automaticamente no Gravity Forms 1.8 e mais recentes

Para remover as entradas, basta adicionar esta função em seu functions.php:

add_action( 'gform_after_submission', 'remove_form_entry' );
function remove_form_entry( $entry ) {
    GFAPI::delete_entry( $entry['id'] );
}

Veja também: Agência Alto Site Curitiba

Como apagar as entradas de notificações no Gravity Forms 1.7 e versões anteriores

add_action('gform_after_submission', '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);

}

Simples, não é mesmo?

Como remover as entradas de um único formulário?

Se você precisar excluir as entradas de um único formulário do banco de dados, basta você alterar na primeira linha o código gform_after_submission adicionando o ID do formulário no final. Se o ID do formulário for 3, por exemplo, considere alterar para gform_after_submission_3

Por hoje é isso! Se tiver alguma dúvida, deixe um comentário.

Como remover entradas armazenadas no Gravity Forms?

Como remover entradas armazenadas no Gravity Forms