Riassunto AI
Introduzione
Vuoi convalidare un URL di social media nel tuo modulo? Ai fini di questa documentazione, consentiremo all'utente di inserire un URL di Twitter e un URL di Facebook, ma vogliamo la possibilità di convalidare gli URL dei social media prima che il modulo venga inviato. Per fare ciò, useremo PHP. In questo tutorial, ti guideremo attraverso i passaggi su come ottenere questo risultato.
Creazione del modulo
Per prima cosa, dovrai creare il tuo modulo. Il nostro modulo includerà due campi Sito Web / URL. Uno sarà per un URL di follow di Twitter e l'altro per un URL di follow di Facebook.
Se hai bisogno di aiuto nella creazione del tuo modulo, esamina questa documentazione.

Aggiunta dello snippet
Ora che hai aggiunto i campi, è ora di aggiungere lo snippet di codice al tuo sito che convaliderà un URL di social media nel tuo modulo.
Se non sei sicuro di come o dove aggiungere snippet al tuo sito, consulta questo tutorial.
/**
* Confirm the correct social network link in the form.
*
* @link https://wpforms.com/developers/how-to-validate-a-social-media-url-field-in-your-form/
*/
function wpf_dev_process_check_social_url( $fields, $entry, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #902.
if ( absint( $form_data['id'] ) !== 902 ) {
return $fields;
}
$fb_url = $fields[25][ 'value' ];
$findfb = 'facebook.com';
$find_fb_url = strpos($fb_url, $findfb);
if ($find_fb_url === false) {
// Check the field ID 25 to make sure it contains facebook.com
wpforms()->process->errors[ $form_data[ 'id' ] ] [ '25' ] = esc_html__( 'Please enter a valid Facebook Profile URL.', 'plugin-domain' );
}
$twitter_url = $fields[26][ 'value' ];
$findtwitter = 'twitter.com';
$find_twitter_url = strpos($twitter_url, $findtwitter);
if ($find_twitter_url === false) {
// Check the field ID 26 to make sure it contains twitter.com
wpforms()->process->errors[ $form_data[ 'id' ] ] [ '26' ] = esc_html__( 'Please enter a valid Twitter Profile URL.', 'plugin-domain' );
}
}
add_action( 'wpforms_process', 'wpf_dev_process_check_social_url', 10, 3 );
Nello snippet di codice sopra, stiamo usando questo snippet solo sul modulo ID 902 e solo sul campo ID 25 che è il campo URL di Facebook e sul campo 26 che è il campo URL di Twitter.
Quando gli utenti inseriscono un link in quei campi che non corrispondono a quanto elencato nel nostro snippet di codice sopra, vedranno un errore dopo aver inviato il modulo.
Dovrai aggiornare gli ID del modulo e dei campi per farli corrispondere a quelli che hai sul tuo sito. Se hai bisogno di aiuto per trovare questi ID, dai un'occhiata a questo tutorial.

E questo è tutto! Sei riuscito a convalidare con successo un URL di social media. Vuoi anche che gli utenti accedano automaticamente una volta completato il modulo di registrazione? Dai un'occhiata al nostro articolo su Come accedere automaticamente agli utenti dopo la registrazione.
Correlati
Riferimento azione: wpforms_process
FAQ
D: Posso aggiungere LinkedIn a questo snippet?
R: Assolutamente! Per aggiungere allo snippet sopra per LinkedIn, usa questo snippet e aggiorna gli ID del modulo e dei campi per il modulo che stai utilizzando.
/**
* Confirm the correct social network link in the form.
*
* @link https://wpforms.com/developers/how-to-validate-a-social-media-url-field-in-your-form/
*/
function wpf_dev_process_check_social_url( $fields, $entry, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #902.
if ( absint( $form_data['id'] ) !== 902 ) {
return $fields;
}
$fb_url = $fields[25][ 'value' ];
$findfb = 'facebook.com';
$find_fb_url = strpos($fb_url, $findfb);
if ($find_fb_url === false) {
// Check the field ID 25 to make sure it contains facebook.com
wpforms()->process->errors[ $form_data[ 'id' ] ] [ '25' ] = esc_html__( 'Please enter a valid Facebook Profile URL.', 'plugin-domain' );
}
$twitter_url = $fields[26][ 'value' ];
$findtwitter = 'twitter.com';
$find_twitter_url = strpos($twitter_url, $findtwitter);
if ($find_twitter_url === false) {
// Check the field ID 26 to make sure it contains twitter.com
wpforms()->process->errors[ $form_data[ 'id' ] ] [ '26' ] = esc_html__( 'Please enter a valid Twitter Profile URL.', 'plugin-domain' );
}
$linkedin_url = $fields[27][ 'value' ];
$findlinkedin = 'linkedin.com';
$find_linkedin_url = strpos($linkedin_url, $findlinkedin);
if ($find_linkedin_url === false) {
// Check the field ID 27 to make sure it contains linkedin.com
wpforms()->process->errors[ $form_data[ 'id' ] ] [ '27' ] = esc_html__( 'Please enter a valid LinkedIn Profile URL.', 'plugin-domain' );
}
}
add_action( 'wpforms_process', 'wpf_dev_process_check_social_url', 10, 3 );