在做wordpress的问和功能时,通常用到contact-form-7这个插件,在这个插件中并没有邮箱的确认功能,以下是对问和确认功能的补充:
如下图所示的问和确认中

在用来确认邮箱的短代码中,在原来邮箱这里的name后加上 _confirm作为确认邮箱的name名,代码如下:
<dl>
<dt><span class="must">必須</span>メールアドレス</dt>
<dd class="email">
[email* email-547]
</dd>
</dl>
<dl>
<dt><span class="must">必須</span>メールアドレス確認用</dt>
<dd class="email">
[email* email-547_confirm]
</dd>
</dl>
然后在function.php中加入以下代码:
function wpcf7_main_validation_filter( $result, $tag ) {
$type = $tag['type'];
$name = $tag['name'];
$_POST[$name] = trim( strtr( (string) $_POST[$name], "\n", " " ) );
if ( 'email' == $type || 'email*' == $type ) {
if (preg_match('/(.*)_confirm$/', $name, $matches)){
$target_name = $matches[1];
if ($_POST[$name] != $_POST[$target_name]) {
if (method_exists($result, 'invalidate')) {
$result->invalidate( $tag,"確認用のメールアドレスが一致していません");
} else {
$result['valid'] = false;
$result['reason'][$name] = '確認用のメールアドレスが一致していません';
}
}
}
}
return $result;
}
add_filter( 'wpcf7_validate_email', 'wpcf7_main_validation_filter', 11, 2 );
add_filter( 'wpcf7_validate_email*', 'wpcf7_main_validation_filter', 11, 2 );
评论区
发表新的留言
您可以留言提出您的疑问或建议。
您的留言得到回复时,会通过您填写的邮箱提醒您。