Resumen de IA
¿Le gustaría proporcionar validación adicional del campo de teléfono? Por ejemplo, si desea evitar que los usuarios introduzcan números de tarificación adicional en su campo Teléfono, puede lograrlo fácilmente con un pequeño fragmento de PHP. En este tutorial, le guiaremos a través de los pasos sobre cómo evitar que se introduzcan números de tarificación adicional en su formulario.
Creación del formulario
Para empezar, necesitará crear su formulario y añadir su campo Teléfono, así como cualquier campo adicional que necesite en su formulario.
Si necesita ayuda para crear su formulario, consulte esta documentación.

Establecer el formato del campo de teléfono
Para el propósito de esta documentación, vamos a evitar cualquier número de teléfono que comience con 8 o +8. Dependiendo del Formato que esté utilizando para el campo del formulario Teléfono, necesitará un fragmento de código u otro.

Validación adicional del campo de teléfono
Ahora es el momento de añadir el fragmento de PHP que necesitará. Hay dos fragmentos diferentes y esto depende del Formato que se estableció para el campo Teléfono cuando creó su formulario.
Si necesita ayuda para añadir fragmentos a su sitio, consulte este tutorial.
Formato de teléfono de EE. UU.
/**
* 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 teléfono 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 fragmentos examinarán el valor del campo Teléfono cuando se envíe el formulario y, si comienza con el número 8 o +8, el formulario no se enviará y aparecerá un mensaje de error.

¡Y eso es todo! Ha añadido correctamente validación adicional para su campo de formulario Teléfono. ¿También le gustaría evitar que se introduzcan ciertos correos electrónicos? Consulte nuestro tutorial sobre Cómo restringir dominios de correo electrónico.