Resumo de IA
Gostaria de fornecer validação adicional para o campo de telefone? Por exemplo, se você quiser impedir que os usuários insiram números gratuitos em seu campo Telefone, você pode conseguir isso facilmente com um pequeno trecho de PHP. Neste tutorial, vamos guiá-lo através das etapas sobre como impedir que números gratuitos sejam inseridos em seu formulário.
Criando o formulário
Para começar, você precisará criar seu formulário e adicionar seu campo Telefone ao seu formulário, bem como quaisquer campos adicionais de que precisará em seu formulário.
Se precisar de ajuda para criar seu formulário, consulte esta documentação.

Configurando o formato do campo Telefone
Para fins desta documentação, vamos impedir qualquer número de telefone que comece com 8 ou +8. Dependendo do Formato que você está usando para o campo do formulário Telefone, dependerá do trecho de código que você precisará usar abaixo.

Validação Adicional do Campo de Telefone
Agora é hora de adicionar o trecho de PHP que você precisará. Existem dois trechos diferentes e isso depende de qual Formato foi definido para o campo Telefone quando você criou seu formulário.
Se precisar de ajuda para adicionar trechos ao seu site, consulte este tutorial.
Formato de Telefone dos EUA
/**
* Custom US format phone field Validation on submit (reject defined prefixes).
*
* @link https://wpforms.com/developers/how-to-provide-additional-phone-field-validation/
*/
function wpf_dev_process_validate_phone($field_id, $field_submit, $form_data)
{
// Only check for US phone field format
if ( 'us' === $form_data[ 'fields' ][$field_id][ 'format' ]) {
$stripped_phone = str_replace(array( '(', ')'), '', (string) $field_submit);
$prefixes = [ '8', '+8' ];
$regexp = implode( '|', $prefixes);
if (preg_match( '/^[' . $regexp . ']/', $stripped_phone)) {
wpforms()->process->errors[$form_data[ 'id' ]][$field_id] = esc_html__( 'The number should not start with "' . implode( '", "', $prefixes ) . '"', 'plugin-domain' );
}
}
}
add_action( 'wpforms_process_validate_phone', 'wpf_dev_process_validate_phone', 10, 3);
Formato de Telefone Inteligente e Internacional
/**
* Custom Smartphone and International field Validation on submit (reject defined prefixes).
*
* @link https://wpforms.com/developers/how-to-provide-additional-phone-field-validation/
*/
function wpf_dev_process_validate_phone( $field_id, $field_submit, $form_data ) {
$prefixes = [ '8', '+8' ];
$regexp = implode( '|', $prefixes );
if ( preg_match( '/^[' . $regexp . ']/', (string) $field_submit ) ) {
wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'The number should not start with "' . implode( '", "', $prefixes) . '"', 'plugin-domain' );
}
}
add_action( 'wpforms_process_validate_phone', 'wpf_dev_process_validate_phone', 10, 3 );
Ambos os trechos analisarão o valor do campo Telefone quando o formulário for enviado e, se ele começar com o número 8 ou +8, o formulário não será enviado e uma mensagem de erro aparecerá.

E é isso! Você adicionou com sucesso validação adicional para o seu campo de formulário Telefone. Você também gostaria de impedir que determinados e-mails sejam inseridos? Confira nosso tutorial sobre Como Restringir Domínios de E-mail.