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

概要

wpcf7_is_email 関数は、入力文字列がメールアドレスかどうかを返すための関数です。この関数は、WordPress プラグイン「Contact Form 7」で使用されており、具体的には以下のような機能を実装する際によく使われます:

  1. フォームに入力されたメールアドレスのバリデーション
  2. ユーザーからの問い合わせ情報の確認
  3. 自動返信メールの送信先アドレスのチェック
  4. メールマガジン登録の際のアドレス確認
  5. アカウント登録フォームの入力確認
  6. フォームの送信後にエラーメッセージを表示するための判定

構文

wpcf7_is_email( $email );

パラメータ

  • $email (string) — 確認したいメールアドレスの文字列。

戻り値

  • (bool) — メールアドレスが有効な形式である場合は true、そうでない場合は false を返します。

使用可能なプラグイン・バージョン

  • Contact Form 7: 5.5.6 以降
  • 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

$email_input = 'test@example.com';
if ( wpcf7_is_email( $email_input ) ) {
    echo '有効なメールアドレスです。';
} else {
    echo '無効なメールアドレスです。';
}

このサンプルコードは、指定されたメールアドレスが有効かどうかをチェックし、その結果を表示します。

サンプルコード2

$email_array = ['test@example.com', 'invalid-email'];
foreach ($email_array as $email) {
    if ( wpcf7_is_email( $email ) ) {
        echo "$email は有効です。<br>";
    } else {
        echo "$email は無効です。<br>";
    }
}

このサンプルコードは、配列内のメールアドレスをループして各アドレスが有効かどうかを検証し、その結果を出力します。

サンプルコード3

function validate_email($email) {
    return wpcf7_is_email($email) ? 'OK' : 'メールアドレスが無効です';
}

$result = validate_email('user@domain.com');
echo $result;

このサンプルコードは、メールアドレスを検証するカスタム関数を定義し、その結果を表示します。

サンプルコード4

$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
if ( wpcf7_is_email($email) ) {
    // メールアドレスが有効な場合の処理
    echo "確認用メールを送信しました。";
} else {
    echo "無効なメールアドレスです。";
}

このサンプルコードは、POSTリクエストからのメールアドレスをサニタイズし、その有効性をチェックしてから処理を行います。

サンプルコード5

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $email = $_POST['email'];
    if (!wpcf7_is_email($email)) {
        die('無効なメールアドレスです。');
    }
    // フォーム送信処理
}

このサンプルコードは、フォームがPOSTされる際にメールアドレスが有効かを確認し、無効の場合は処理を終了します。

これらのサンプルコードは、著作権フリーのものです。

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


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