プラグインContact Form 7のwpcf7_is_tel関数の使用方法・解説

概要

wpcf7_is_tel関数は、入力文字列が電話番号かどうかを返すために使用される関数です。この関数は、主に以下の機能を実装する際に役立ちます:

  1. お問い合わせフォームにおける電話番号の検証
  2. ユーザー登録フォームでの電話番号のバリデーション
  3. 電話番号形式の確認
  4. フォーム送信時のエラーメッセージ生成
  5. サードパーティサービスとの連携時のデータ検証
  6. ユーザーサポートやカスタマーサービスの問い合わせにおける電話番号チェック

構文

wpcf7_is_tel( $tel )

パラメータ

  • $tel (string): 確認したい電話番号の文字列。

戻り値

  • (bool): 入力文字列が電話番号であればtrueを、そうでなければfalseを返します。

使用可能なバージョン

  • Contact Form 7: バージョン5.0以降
  • WordPress: バージョン4.0以降

この関数のアクションでの使用可能性

アクション 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプルコード1

$phone_input = isset($_POST['phone']) ? $_POST['phone'] : '';

if (wpcf7_is_tel($phone_input)) {
    echo "有効な電話番号です。";
} else {
    echo "無効な電話番号です。";
}

このコードは、フォームから送信された電話番号が有効かどうかをチェックし、結果を表示します。

サンプルコード2

function validate_phone_number($atts) {
    $phone_number = isset($atts['phone']) ? $atts['phone'] : '';
    return wpcf7_is_tel($phone_number);
}

この関数は、渡された引数から電話番号を取得し、wpcf7_is_tel関数を使用してその有効性を確認します。

サンプルコード3

add_action('wpcf7_before_send_mail', 'check_phone_number');

function check_phone_number($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    if ($submission) {
        $data = $submission->get_posted_data();
        if (!wpcf7_is_tel($data['tel'])) {
            // エラーメッセージを表示する処理
        }
    }
}

このコードは、メール送信前に電話番号の検証を行い、無効な場合にエラーメッセージを表示する処理を追加します。

サンプルコード4

function custom_phone_validation($validated, $tag) {
    $tel_field = $tag['name'];
    if (isset($_POST[$tel_field]) && !wpcf7_is_tel($_POST[$tel_field])) {
        $validated->invalidate($tag, "無効な電話番号です。");
    }
}
add_action('wpcf7_validate_text', 'custom_phone_validation', 10, 2);

このコードは、電話番号のテキストフィールドについてカスタムバリデーションを行い、不正な電話番号が入力された場合にエラーメッセージを表示します。

サンプルコード5

function is_tel_test($tel) {
    if (wpcf7_is_tel($tel)) {
        return "正しい電話番号です";
    } 
    return "電話番号が無効です";
}
echo is_tel_test("123-456-7890");

この関数は、指定された電話番号が正しいかどうかを判定し、結果を返します。

引用元のページは特にありませんが、サンプルコードは一般的な使用例を基にして作成しています。

この関数について質問する


上の計算式の答えを入力してください