Come negare l'invio di numeri di telefono specifici

Introduzione

Volete impedire a determinati numeri di telefono di inviare voci nei vostri moduli? È possibile creare facilmente un piccolo snippet PHP che blocca l'invio del modulo se il numero di telefono è presente nell'elenco dei numeri rifiutati. In questo tutorial, vi illustreremo i passaggi per ottenere questo risultato.

Creazione del modulo

Per prima cosa, è necessario creare un nuovo modulo e aggiungere i campi a questo modulo, che includerà il campo Telefono.

Nella nostra esercitazione, utilizzeremo il formato Smart per il campo Telefono.

Se avete bisogno di assistenza per creare il vostro modulo, consultate questa documentazione.

creare il modulo, aggiungere il campo telefono e il resto dei campi

Negazione di numeri di telefono specifici

Per negare numeri di telefono specifici, dovrete aggiungere questo snippet al vostro sito.

Se avete bisogno di aiuto per aggiungere gli snippet al vostro sito, consultate questo 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 );

Questo snippet verrà elaborato solo con l'ID 5 del modulo. È necessario aggiornare questo ID per farlo corrispondere all'ID del proprio modulo. Se avete bisogno di aiuto per trovare il vostro ID, consultate questa utile guida.

La lista $phone_blacklist è un elenco di numeri che verrà creato per impedire l'invio del modulo se uno dei numeri di telefono inseriti nel modulo corrisponde a un numero presente in questo elenco.

Lo snippet di cui sopra si basa sull'uso del formato intelligente per il campo Telefono. Per sapere come formattare l'array se si utilizza il formato USA o internazionale, consultare i commenti nello snippet precedente.

Con questo snippet è ora possibile impedire a numeri di telefono specifici di inviare il modulo

E questo è tutto ciò di cui avete bisogno! Volete trasformare il numero di telefono in un link all'interno della notifica e-mail? Date un'occhiata al nostro tutorial su Come trasformare i numeri di telefono in link nelle notifiche e-mail.

Riferimento azione: wpforms_process_validate_phone