ご注意!

この記事には PHP コードが含まれており、開発者を対象としています。このコードは便宜上提供していますが、コードのカスタマイズやサードパーティの開発についてはサポートを提供していません。

追加のガイダンスについては、WPBeginner の カスタムコードの追加方法に関するチュートリアル を参照してください。

閉じる

特定の電話番号からの送信を拒否する方法

はじめに

フォームへのエントリ送信を特定の電話番号から拒否しますか?電話番号が拒否リストにある場合、フォームの送信をブロックする簡単なPHPスニペットを作成できます。このチュートリアルでは、その実現方法をステップごとに説明します。

フォームの作成

まず、新しいフォームを作成し、電話フォームフィールドを含むフィールドをフォームに追加する必要があります。

このチュートリアルでは、電話フィールドにスマートフォーマットを使用します。

フォームの作成にサポートが必要な場合は、こちらのドキュメントをご覧ください

フォームを作成し、電話フィールドとその他のフィールドを追加します

特定の電話番号の拒否

特定の電話番号を拒否するには、このスニペットをサイトに追加する必要があります。

スニペットをサイトに追加する方法についてサポートが必要な場合は、こちらのチュートリアルをご覧ください

/*
 * 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 );

このスニペットは、フォームID 5でのみ処理されます。このIDは、ご自身のフォームIDに合わせて更新する必要があります。IDの見つけ方についてサポートが必要な場合は、こちらの役立つガイドをご覧ください

$phone_blacklistは、フォームに入力された電話番号のいずれかがこのリストの番号と一致した場合にフォームの送信を停止する、作成する番号のリストです。

上記の Сниппет は、電話フィールドにスマートフォーマットを使用したことを前提としています。米国または国際フォーマットを使用する場合の配列のフォーマット方法については、上記の Сниппет のコメントを参照してください。

このスニペットを使用すると、特定の電話番号からのフォーム送信を拒否できるようになりました

これで完了です!メール通知内で電話番号をリンクにすることもできますか?メール通知で電話番号をリンクにする方法のチュートリアルをご覧ください。

アクションリファレンス: wpforms_process_validate_phone