KI-Zusammenfassung
Einführung
Möchten Sie eine Social-Media-URL in Ihrem Formular validieren? Für diese Dokumentation lassen wir den Benutzer eine Twitter-URL und eine Facebook-URL eingeben, aber wir möchten die Social-Media-URLs validieren können, bevor das Formular abgeschickt wird. Dazu verwenden wir PHP. In diesem Tutorial führen wir Sie durch die Schritte, wie Sie dies erreichen können.
Erstellung des Formulars
Zuerst müssen Sie Ihr Formular erstellen. Unser Formular wird zwei Website / URL-Felder enthalten. Eines für eine Twitter-Follow-URL und das andere für eine Facebook-Follow-URL.
Wenn Sie Hilfe beim Erstellen Ihres Formulars benötigen, lesen Sie bitte diese Dokumentation.

Hinzufügen des Snippets
Nachdem Sie die Felder hinzugefügt haben, ist es an der Zeit, den Code-Snippet auf Ihrer Website hinzuzufügen, der eine Social-Media-URL in Ihrem Formular validiert.
Wenn Sie nicht sicher sind, wie oder wo Sie Snippets auf Ihrer Website hinzufügen können, lesen Sie bitte dieses 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 );
Im obigen Code-Snippet verwenden wir dieses Snippet nur für die Formular-ID 902 und nur für das Feld-ID 25, welches das Facebook-URL-Feld ist, und Feld 26, welches das Twitter-URL-Feld ist.
Wenn Benutzer einen Link in diese Felder eingeben, der nicht mit dem in unserem obigen Code-Snippet aufgeführten übereinstimmt, sehen sie nach dem Absenden des Formulars eine Fehlermeldung.
Sie müssen die Formular- und Feld-IDs aktualisieren, damit sie mit denen auf Ihrer Website übereinstimmen. Wenn Sie Hilfe beim Finden dieser IDs benötigen, sehen Sie sich bitte dieses Tutorial an.

Und das ist alles! Sie konnten erfolgreich eine Social-Media-URL validieren. Möchten Sie auch, dass sich die Benutzer automatisch anmelden, nachdem sie das Registrierungsformular ausgefüllt haben? Sehen Sie sich unseren Artikel über automatische Benutzeranmeldung nach der Registrierung an.
Verwandt
Aktionsreferenz: wpforms_process
FAQ
F: Kann ich LinkedIn zu diesem Snippet hinzufügen?
A: Absolut! Um das obige Snippet für LinkedIn zu erweitern, verwenden Sie dieses Snippet und aktualisieren Sie die Formular- und Feld-IDs für das von Ihnen verwendete Formular.
/**
* 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 );