概要
wpcf7_is_tel
関数は、入力文字列が電話番号かどうかを返すために使用される関数です。この関数は、主に以下の機能を実装する際に役立ちます:
- お問い合わせフォームにおける電話番号の検証
- ユーザー登録フォームでの電話番号のバリデーション
- 電話番号形式の確認
- フォーム送信時のエラーメッセージ生成
- サードパーティサービスとの連携時のデータ検証
- ユーザーサポートやカスタマーサービスの問い合わせにおける電話番号チェック
構文
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");
この関数は、指定された電話番号が正しいかどうかを判定し、結果を返します。
引用元のページは特にありませんが、サンプルコードは一般的な使用例を基にして作成しています。