Como negar o envio de números de telefone específicos

Introdução

Gostaria de impedir que números de telefone específicos enviem entradas em seus formulários? Você pode criar facilmente um pequeno snippet PHP que bloqueará o envio do formulário se o número de telefone for encontrado na lista de negação. Neste tutorial, vamos orientá-lo nas etapas de como fazer isso.

Criando seu formulário

Primeiro, você precisará começar criando um novo formulário e adicionando seus campos a esse formulário, o que incluirá um campo de formulário Phone.

Em nosso tutorial, usaremos o formato Smart para nosso campo Phone.

Se precisar de ajuda para criar seu formulário, consulte esta documentação.

crie seu formulário, adicione seu campo de telefone e o restante dos campos

Negar números de telefone específicos

Para negar números de telefone específicos, você precisará adicionar esse snippet ao seu site.

Se precisar de ajuda para adicionar snippets ao seu site, consulte este tutorial.

/*
 * Deny specific phone numbers from your WPForms.
 *
 * @link https://wpforms.com/developers/how-to-deny-specific-phone-numbers-from-submitting/
*/
  
function wpf_dev_blacklist_phone( $field_id, $field_submit, $form_data ) {
 
    // List each number in this array and separate with a comma using one of the formats detailed below
 
    // Smart         Phone Format - +12025550164
    // US            Phone Format - (202) 555-0164
    // International Phone Format - 2025550164
    
    // Optional, you can limit to specific forms. Below, we restrict output to form ID 5
    // Remove this section if you wish to run on all forms
    if ( absint( $form_data[ 'id' ] ) !== 5 ) {
        return;
    }
 
    // Add your phone numbers separated by a comma
    $phone_blacklist = array( 
            '+12025550164',
             
    );
  
    if( in_array( $field_submit, $phone_blacklist ) ) { 
        wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'Phone not accepted!', 'wpforms' );
        return;
    }
}
 
add_action('wpforms_process_validate_phone', 'wpf_dev_blacklist_phone', 10, 3 );

Esse snippet só será processado no ID de formulário 5. Você precisará atualizar esse ID para que corresponda ao seu próprio ID de formulário. Se precisar de ajuda para encontrar seu ID, consulte este guia útil.

A $phone_blacklist é uma lista de números que você criará e que impedirá o envio do formulário se um dos números de telefone inseridos no formulário corresponder a um número dessa lista.

O snippet acima é baseado no uso do Smart Format para o campo Phone. Consulte os comentários no snippet acima para saber como formatar a matriz se estiver usando o formato americano ou internacional.

Com este snippet, agora você pode impedir que números de telefone específicos enviem seu formulário

E isso é tudo o que você precisa! Gostaria de transformar o número de telefone em um link dentro da notificação por e-mail? Dê uma olhada em nosso tutorial sobre Como transformar os números de telefone em um link nas notificações por e-mail.

Referência da ação: wpforms_process_validate_phone