WEBOPIXEL

WordPress の Contact Form 7 でRFC準拠のメールアドレスをチェックする

Posted: 2016.12.09 / Category: WordPress 

WordPressは Contact Form 7 という有名なフォームプラグインがあります。 通常使用する分にはメールアドレスの形式をチェックしてくれますが、RFC準拠も弾きたい場合のカスタマイズ方法です。

Sponsored Link

ちなみにRFC準拠とはドットが二つ並んでいる(..)とかドットで終わってはいけないという形式らしいです。
昔の携帯とかでは使用されていましたので、そのあたりは注意が必要ですね。

方法は使用中のテーマのfunctions.phpに下記を追加するだけです。

functions.php

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 ) {
	$type = $tag['type'];
	$name = $tag['name'];
	$_POST[$name] = trim( strtr((string) $_POST[$name], "\n", " " ));
	if ( 'email' == $type || 'email*' == $type ) {
		
		if (!filter_var($_POST[$name], FILTER_VALIDATE_EMAIL)) {
			$result->invalidate( $tag, 'このメールアドレスは送信できません。');
		}
	}
	return $result;
}
	

PHPのバージョンによってはFILTER_VALIDATE_EMAILが使えないかもしれませんので、その時は正規表現なので代用もできるかと思います。

こちらのページを参考にさせていただきました。

Contact Form 7のカスタマイズまとめ

LEAVE A REPLY

コードを書く場合は<pre>で囲んでください。