2011年06月16日 WordPress
WordPressでよく使われるメールフォームのプラグイン「Contact Form7」ですが、メールアドレスの確認用の入力フォームが、標準でついてるかと思ってたらついてなかったので、調べてみました。 こちらのサイトさんが、簡単に実装出来る方法を公開してくれてましたので、紹介したいと思います。

設定方法

テーマのfunction.phpに以下のコードを追加します。
<?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 (preg_match('/(.*)_confirm$/', $name, $matches)){
            $target_name = $matches[1];
            if ($_POST[$name] != $_POST[$target_name]) {
                $result['valid'] = false;
                $result['reason'][$name] = '確認用のメールアドレスが一致していません';
            }
        }
    }
    return $result;
}
?>
Contact Form 7の方では以下のように設定します。
<p>メールアドレス<br />
[email* your-email] </p>

<p>メールアドレス (確認用)<br />
[email* your-email_confirm] </p>
これで簡単に実装出来ました。動作確認済です。 参考サイト:こぶたのラッパ

この投稿へのコメント

コメントはまだありません。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA


ピックアップ記事

表示中ページの条件分岐

2011年11月21日 WordPress
条件分岐一覧 is_front_page()トップページかどうか。 is_home()投稿ページ(固定ページを設定していなければトップページ)かどうか。 is_single()個別記事かどうか。カッコにID、タイトル、スラッグを入れて判定できる。 is_page()ページかどうか。カッコにID、タイトル、スラッグを入れて判定できる。 is_singular()個別記事でもページ…
「表示中ページの条件分岐」をはてなブックマークに追加

指定カテゴリに属する記事の一覧を表示

2011年11月30日 WordPress
$categorysの配列を複数指定することで、複数のカテゴリから記事の一覧を取得することが可能です。 [php] <?php $categorys = array(27); for ($i=0; $i<count($categorys); $i++) : ?> <?php query_posts('cat='.$categorys[$i]); if (have_post…
「指定カテゴリに属する記事の一覧を表示」をはてなブックマークに追加

検索フォームを設置し、検索結果を表示させる

2012年01月23日 WordPress
1.まずは検索フォームを設置します searchform.php 2.次に検索結果を取得、表示させる search.phpの検索結果を表示させる部分…
「検索フォームを設置し、検索結果を表示させる」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy