Contact Form][

WordPressのメールフォームプラグインこちらからダウンロードできる。
インストール方法は、圧縮ファイルを解凍、できたフォルダを/wp-content/plugins/にアップロード。管理画面のプラグインから有効化する。メールフォームを挿入したいところに「[CONTACT-FORM]」と書けば、メールフォームが挿入される。
 
日本語化ファイルのwpcf-ja.moは、wp-config.phpでの言語設定(WPLANG)が'ja'ではなく'ja_UTF'の場合は、wpcf-ja_UTF.moとファイルネームを変更する必要がある。
 
初期設定ではフォーム項目は「名前」「メールアドレス」「題名」「メッセージ」だが、/wp-content/plugins/wp-contact-form/wp-contactform.phpの中を書き換えることで、変更はできる。
変更箇所は
/wp-content-plugins/wp-contact-form/wp-contactform.php, line14-

$wpcf_strings = array(
    'name' => '<div class="contactright"><input type="text" name="wpcf_your_name" id="wpcf_your_name" size="30" maxlength="50" value="' . $_POST['wpcf_your_name'] . '" /> (required)</div>',
    'email' => '<div class="contactright"><input type="text" name="wpcf_email" id="wpcf_email" size="30" maxlength="50" value="' . $_POST['wpcf_email'] . '" /> (required)</div>',
    'subject' => '<div class="contactright"><input type="text" name="wpcf_subject" id="wpcf_subject" size="30" maxlength="50" value="' .$_POST['wpcf_subject'] . '" /> (required)</div>',
    'msg' => '<div class="contactright"><textarea name="wpcf_msg" id="wpcf_msg" cols="'.get_option('wpcf_textarea_cols').'" rows="'.get_option('wpcf_textarea_rows').'" >' . $_POST['wpcf_msg'] . '</textarea></div><br />',
    'carbon_copy' => '<div class="contactright" id="carbon_copy"><input type="checkbox" name="carbon_copy" value="true" /></div>',
    'error' => '');

line143-

            $name        = $_POST['wpcf_your_name'];
            $email       = $_POST['wpcf_email'];
            $carbon_copy = $_POST['wpcf_carbon_copy'];
            $subject     = $_POST['wpcf_subject'];
            $msg         = $_POST['wpcf_msg'];
            $browser     = $_SERVER['HTTP_USER_AGENT'];

            if ($_POST['carbon_copy'] == 'true') {
                $headers     = "MIME-Version: 1.0\n";
                $headers    .= "From: $name <$email>\n";
                $headers    .= "Content-Type: text/plain; charset=\"" . get_settings('blog_charset') . "\"\n";
                $headers    .= "Bcc: $recipient\n";
                $fullmsg    .= wordwrap($msg, 76, "\n") . "\n\n";
                $fullmsg    .= "\n----------------------------------------------------------------------------\n";
                $fullmsg    .= "Sender info:\n\n";
                $fullmsg    .= "IP: " . getip(). " <http://ws.arin.net/whois/?queryinput=".getip().">\n";
                $fullmsg    .= "Browser/OS: " . wordwrap($browser, 76, "\n\t    ") . "\n";
                $fullmsg    .= "----------------------------------------------------------------------------\n";
                wp_mail($email, $subject ." ". $subj_suffix, $fullmsg, $headers);
            } else {
                $headers     = "MIME-Version: 1.0\n";
                $headers    .= "From: $name <$email>\n";
                $headers    .= "Content-Type: text/plain; charset=\"" . get_settings('blog_charset') . "\"\n";
                $fullmsg    .= wordwrap($msg, 76, "\n") . "\n\n";
                $fullmsg    .= "\n----------------------------------------------------------------------------\n";
                $fullmsg    .= "Sender info:\n\n";
                $fullmsg    .= "IP: " . getip(). " <http://ws.arin.net/whois/?queryinput=".getip().">\n";
                $fullmsg    .= "Browser/OS: " . wordwrap($browser, 76, "\n\t    ") . "\n";
                $fullmsg    .= "----------------------------------------------------------------------------\n";
                wp_mail($recipient, $subject ." ". $subj_suffix, $fullmsg, $headers);
            }

に追加した項目を書き加える。
実際のフォーム表示はline180以降

            <form action="' . get_permalink() . '#c_form_2" method="post">
                <div class="contactleft"><label for="wpcf_your_name">' . __('Your Name: ', 'wpcf') . '</label></div>' . $wpcf_strings['name']  . '
                <div class="contactleft"><label for="wpcf_email">' . __('Your Email:', 'wpcf') . '</label></div>' . $wpcf_strings['email'] . '
                <div class="contactleft"><label for="wpcf_subject">' . __('Subject:', 'wpcf') . '</label></div>' . $wpcf_strings['subject'] . '
                <div class="contactleft"><label for="wpcf_msg">' . __('Your Message: ', 'wpcf') . '</label></div>' . $wpcf_strings['msg'] . '
                <div class="contactleft"><label for="carbon_copy">' .__('Send a copy to yourself?', 'wpcf') . '</label></div>'. $wpcf_strings['carbon_copy'] . '
                <div class="contactright"><input type="submit" name="Submit" value="Send Message" id="contactsubmit" /><input type="hidden" name="wpcf_stage" value="process" /></div>
            </form>

なので、こちらも追加が必要。
以上。
 
必須項目チェックはline69以降のwpcf_check_input()で行われているので、変更した項目が必須の場合はこちらの変更も必要になります。
また、送信されたメールが文字化けする場合は、nippon pluginを利用すると、文字化け回避できる場合もあるようです。
 
セレクトボックスなど通常valueに直接値を書き込むものの場合、そのまま設定すると文字化けする原因になるので、
例えば

$optionvalue_1 = "設定値1";
$optionvalue_2 = "設定値2";

$wpcf_strings = array(
    'approachstart' => '<div class="contactright" id="selectbox"><select name="wpcf_selectbox" id="wp_selectbox">
<option value="' . $optionvalue_1 . '">設定値1
<option value="' . $optionvalue_2 . '">設定値2</select></div>',
    'error' => '');

のようにすると文字化けを回避できるっぽい。