WordPressプラグイン『Contact Form 7』で確認用メールアドレス項目を追加

usanoko 104views 更新:2017年1月26日

WordPressのお問い合わせフォームプラグイン『Contact Form 7』のデフォルトでは確認用メールアドレスの項目がありません。
でもこの項目は活用する機会が多いはず…。

実は、function.phpに以下のコードを追加することによって項目を足すことができちゃうのです。 (管理パネル上では表示されないよ!)

以下は[email* your-email]が設置されている場合のコードです。

//==============================================
//コンタクトフォーム7に確認用メールアドレスの項目を追加
//==============================================
add_filter( 'wpcf7_validate_email', 'wpcf7_text_validation_filter_extend', 11, 2 );
add_filter( 'wpcf7_validate_email*', 'wpcf7_text_validation_filter_extend', 11, 2 );

function wpcf7_text_validation_filter_extend( $result, $tag ) {
global $my_email_confirm;
    $tag = new WPCF7_Shortcode( $tag );
    $name = $tag->name;
    $value = isset( $_POST[$name] )
        ? trim( wp_unslash( strtr( (string) $_POST[$name], "\n", " " ) ) )
        : '';

//ひとつ目のメールアドレス項目の名称(ここでは'your-email')を$nameに代入。
    if ($name == "your-email"){
        $my_email_confirm=$value;
        }

//ふたつ目のメールアドレス項目の名称(ここでは'your-email_confirm')を$nameに代入。
    if ($name == "your-email_confirm" && $my_email_confirm != $value){
        $result->invalidate( $tag,"確認用のメールアドレスが一致していません");
        }

    return $result;
}

そして、管理パネルの編集画面で以下のコードを表示したい場所に入力します。

[email* your-email_confirm]

これで設置完了です。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません