Como recusar a submissão de números de telefone específicos

Introdução

Gostaria de impedir que números de telefone específicos submetam entradas nos seus formulários? Pode criar facilmente um pequeno snippet PHP que bloqueará a submissão do formulário se o número de telefone for encontrado na lista de negação. Neste tutorial, vamos guiá-lo pelas etapas de como fazer isso.

Criar o seu formulário

Primeiro, tem de começar por criar um novo formulário e adicionar os seus campos a este formulário, o que incluirá um campo de formulário Telefone.

No nosso tutorial, vamos utilizar o formato Smart para o nosso campo Phone.

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

crie o seu formulário, adicione o campo do telefone e os restantes campos

Recusa de números de telefone específicos

Para recusar números de telefone específicos, terá de adicionar este snippet ao seu site.

Se precisar de ajuda sobre como 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 );

Este snippet só será processado no ID de formulário 5. Terá de atualizar esta ID para corresponder à ID do seu próprio formulário. Se precisar de ajuda para encontrar o seu ID, consulte este guia útil.

A $phone_blacklist é uma lista de números que criará e que impedirá a submissão do formulário se um dos números de telefone introduzidos no formulário corresponder a um número desta lista.

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

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

E é tudo o que precisa! Também gostaria de transformar o número de telefone num link dentro da notificação por e-mail? Veja o nosso tutorial sobre Como transformar números de telefone num link em notificações de e-mail.

Referência da ação: wpforms_process_validate_phone