Résumé IA
Introduction
Voulez-vous valider une URL de réseau social dans votre formulaire ? Aux fins de cette documentation, nous allons permettre à l'utilisateur de saisir une URL Twitter et une URL Facebook, mais nous voulons pouvoir valider les URL de réseaux sociaux avant la soumission du formulaire. Pour ce faire, nous utiliserons PHP. Dans ce tutoriel, nous vous guiderons à travers les étapes pour y parvenir.
Création du formulaire
Tout d'abord, vous devrez créer votre formulaire. Notre formulaire comprendra deux champs Site Web / URL. L'un sera pour une URL de suivi Twitter et l'autre pour une URL de suivi Facebook.
Si vous avez besoin d'aide pour créer votre formulaire, veuillez consulter cette documentation.

Ajout du snippet
Maintenant que vous avez ajouté les champs, il est temps d'ajouter l'extrait de code à votre site qui validera une URL de réseau social dans votre formulaire.
Si vous ne savez pas comment ou où ajouter des extraits de code à votre site, veuillez consulter ce tutoriel.
/**
* 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 );
Dans l'extrait de code ci-dessus, nous utilisons cet extrait uniquement sur l'ID de formulaire 902 et uniquement sur le champ ID 25 qui est le champ URL Facebook et le champ 26 qui est le champ URL Twitter.
Lorsque les utilisateurs saisissent un lien dans ces champs qui ne correspond pas à ce qui est indiqué dans notre extrait de code ci-dessus, ils verront une erreur après avoir soumis le formulaire.
Vous devrez mettre à jour les ID de formulaire et de champ pour qu'ils correspondent à ce que vous avez sur votre site. Si vous avez besoin d'aide pour trouver ces ID, veuillez consulter ce tutoriel.

Et voilà ! Vous avez réussi à valider une URL de réseau social. Souhaitez-vous également que les utilisateurs se connectent automatiquement une fois qu'ils ont terminé le formulaire d'inscription ? Consultez notre article sur Comment connecter automatiquement les utilisateurs après l'inscription.
Articles associés
Référence d'action : wpforms_process
FAQ
Q : Puis-je ajouter LinkedIn à cet extrait ?
R : Absolument ! Pour ajouter au snippet ci-dessus pour LinkedIn, utilisez ce snippet et mettez à jour les ID de formulaire et de champ pour le formulaire que vous utilisez.
/**
* 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 );