<html lang="ja-jp" dir="ltr"><head></head><body>### [フォームでソーシャルメディアのURLフィールドを検証する方法](https://wpforms.com/developers/how-to-validate-a-social-media-url-field-in-your-form/)

**公開日:** 2020年6月26日
**著者:** エディトリアルチーム

**抜粋:** このチュートリアルでは、PHPスニペットを使用してフォームでソーシャルメディアのURLを検証する方法を正確に説明します。

**コンテンツ:**

## はじめに

フォームでソーシャルメディアのURLを検証したいですか？このドキュメントでは、ユーザーにTwitterのURLとFacebookのURLを入力してもらいますが、フォームが送信される前にソーシャルメディアのURLを検証する機能が必要になります。これを行うためにPHPを使用します。このチュートリアルでは、これを達成するための手順を順を追って説明します。

## フォームの作成

まず、フォームを作成する必要があります。フォームには2つの**ウェブサイト/URL**フィールドが含まれます。1つはTwitterのフォローURL用、もう1つはFacebookのフォローURL用です。

フォームの作成にヘルプが必要な場合は、[こちらのドキュメントをご覧ください](https://wpforms.com/docs/creating-first-form/ "最初のフォームの作成方法")。

![ユーザーがソーシャルメディアのURLを入力するためのウェブサイト/URLフィールドを追加する](https://wpforms.com/wp-content/uploads/2020/06/wpforms-facebook-url-field.jpg)

## スニペットの追加

フィールドを追加したら、フォームでソーシャルメディアのURLを検証するコードスニペットをサイトに追加する時期です。

スニペットをサイトに追加する方法や場所がわからない場合は、[こちらのチュートリアルをご覧ください](https://wpforms.com/developers/how-to-add-custom-php-or-javascript-for-wpforms/ "WPForms用のカスタムPHPまたはJavaScriptの追加方法")。

```

/**
 * フォームで正しいソーシャルネットワークリンクを確認します。
 *
 * @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 ) {
      
    // オプション：特定のフォームに制限できます。以下では、出力は
    // フォーム#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) {
            // フィールドID 25をチェックして、facebook.comが含まれていることを確認します
               wpforms()-&gt;process-&gt;errors[ $form_data[ 'id' ] ] [ '25' ] = esc_html__( '有効なFacebookプロフィールURLを入力してください。', 'plugin-domain' );
  
        }
	
	$twitter_url = $fields[26][ 'value' ];
	$findtwitter   = 'twitter.com';
	$find_twitter_url = strpos($twitter_url, $findtwitter);

	if ($find_twitter_url === false) {

            // フィールドID 26をチェックして、twitter.comが含まれていることを確認します
               wpforms()-&gt;process-&gt;errors[ $form_data[ 'id' ] ] [ '26' ] = esc_html__( '有効なTwitterプロフィールURLを入力してください。', 'plugin-domain' );
  
        }
	
    }
add_action( 'wpforms_process', 'wpf_dev_process_check_social_url', 10, 3 );
```

上記のコードスニペットでは、このスニペットはフォームID **902**でのみ、フィールドID **25**（Facebook URLフィールド）とフィールド **26**（Twitter URLフィールド）でのみ使用しています。

ユーザーがこれらのフィールドに、上記のコードスニペットにリストされているものと一致しないリンクを入力すると、フォーム送信後にエラーが表示されます。

フォームとフィールドのIDをサイトのものと一致するように更新する必要があります。これらのIDを見つけるのにヘルプが必要な場合は、[こちらのチュートリアルをご覧ください](https://wpforms.com/developers/how-to-locate-form-id-and-field-id/ "https://wpforms.com/developers/how-to-locate-form-id-and-field-id/")。

![このスニペットを追加すると、フォーム内でソーシャルメディアのURLを簡単に検証できます](https://wpforms.com/wp-content/uploads/2020/06/wpforms-social-media-url-validation.jpg)

これで、ソーシャルメディアのURLを正常に検証できるようになりました。登録フォームを完了したら、ユーザーを自動的にログインさせたいですか？[登録後にユーザーを自動的にログインさせる方法](https://wpforms.com/developers/automatically-log-in-users-after-registration/ "登録後にユーザーを自動的にログインさせる方法")に関する記事をご覧ください。

## 関連

アクションリファレンス: [wpforms\_process](https://wpforms.com/developers/wpforms_process/ "wpforms_processアクションの使用")

## FAQ

#### Q: このスニペットにLinkedInを追加できますか？

**A:** もちろんです！LinkedInに上記のコードスニペットを追加するには、このスニペットを使用し、使用しているフォームのフォームとフィールドのIDを更新してください。

```

/**
 * フォームで正しいソーシャルネットワークリンクを確認します。
 *
 * @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 ) {
      
    // オプション：特定のフォームに制限できます。以下では、出力は
    // フォーム#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) {
            // フィールドID 25をチェックして、facebook.comが含まれていることを確認します
               wpforms()-&gt;process-&gt;errors[ $form_data[ 'id' ] ] [ '25' ] = esc_html__( '有効なFacebookプロフィールURLを入力してください。', 'plugin-domain' );
  
        }
	
	$twitter_url = $fields[26][ 'value' ];
	$findtwitter   = 'twitter.com';
	$find_twitter_url = strpos($twitter_url, $findtwitter);

	if ($find_twitter_url === false) {

            // フィールドID 26をチェックして、twitter.comが含まれていることを確認します
               wpforms()-&gt;process-&gt;errors[ $form_data[ 'id' ] ] [ '26' ] = esc_html__( '有効なTwitterプロフィールURLを入力してください。', 'plugin-domain' );
  
        }

	$linkedin_url = $fields[27][ 'value' ];
	$findlinkedin   = 'linkedin.com';
	$find_linkedin_url = strpos($linkedin_url, $findlinkedin);

	if ($find_linkedin_url === false) {

            // フィールドID 27をチェックして、linkedin.comが含まれていることを確認します
               wpforms()-&gt;process-&gt;errors[ $form_data[ 'id' ] ] [ '27' ] = esc_html__( '有効なLinkedInプロフィールURLを入力してください。', 'plugin-domain' );
  
        }
	
    }
add_action( 'wpforms_process', 'wpf_dev_process_check_social_url', 10, 3 );
```

**カテゴリ:** チュートリアル

**タグ:** PHP

---</body></html>