将复选框添加到将表格邮寄到电子邮件中(使用WP MAIL?)


add check box to post form to email (using WP MAIL?)

如果能提供任何帮助,我将不胜感激。

我正在创建一个电子贺卡,供用户在情人节发送,我想编辑代码,这样我就可以包含一个复选框,人们可以勾选该复选框以加入我们的邮件列表。

选中后,我想通过Wordpress邮件将表格发送到指定的电子邮件地址,因为我使用的插件使用这个系统。我已经包含了以下代码:

很抱歉附上这么多代码,但我不想错过

// email settings
$ecard_title = get_option('ecard_title');
$ecard_body_intro = get_option('ecard_body_intro');
$ecard_body_additional = get_option('ecard_body_additional');
$ecard_body_footer = get_option('ecard_body_footer');
if(isset($_POST['ecard_send'])) {
    if(get_option('ecard_captcha_display') == '1') {
        if($_POST['ecard_robot'] == 'spa') {
            $subject            = $ecard_title;
            $ecard_to           = $_POST['ecard_to'];
            $ecard_from         = $_POST['ecard_from'];
            $ecard_email_from   = $_POST['ecard_email_from'];
            $ecard_mail_from    = $_POST['ecard_email_from'];
            $ecard_mail_message = stripslashes($_POST['ecard_message']);
            $ecard_message  = '';
            $ecard_message  .= '<p>'.$ecard_body_intro.' <strong>'.$ecard_from.'</strong> ('.$ecard_email_from.')!</p>';
            $ecard_message  .= '<p>'.$ecard_mail_message.'</p>';
            $ecard_message  .= '<p>'.ecards_thumbcatcher($ecard_width, $ecard_title).'</p>';
            $ecard_message  .= '<p>'.$ecard_body_additional.'</p>';
            $ecard_message  .= '<p>'.$ecard_body_footer.' '.'<a href="'.get_permalink().'">'.get_permalink().'</a></p>';
            // send email using WordPress function
            $headers = 
                "MIME-Version: 1.0'n".
                "From: ".$ecard_email_from."'n".
                "Content-Type: text/html; charset='"".get_settings('blog_charset')."'"'n";
            $mail = wp_mail($ecard_to, $subject, $ecard_message, $headers);
            if($mail) {
                echo '<p><strong>'.__('eCard sent successfully!', 'ecards').'</strong></p>';
                update_option('ecard_counter', ($ecard_counter + 1));
            }
            else
                echo '<p><strong>'.__('eCard was not sent!', 'ecards').'</strong></p>';
        }
        else {
            echo '<p><strong>'.__('Wrong verification code!', 'ecards').'</strong></p>';
        }
    }
    else {
        $subject            = $ecard_title;
        $ecard_to           = $_POST['ecard_to'];
        $ecard_from         = $_POST['ecard_from'];
        $ecard_email_from   = $_POST['ecard_email_from'];
        $ecard_mail_message = stripslashes($_POST['ecard_message']);
        $ecard_message  = '';
        $ecard_message  .= '<p>'.$ecard_body_intro.' <strong>'.$ecard_from.'</strong> ('.$ecard_email_from.')!</p>';
        $ecard_message  .= '<p>'.$ecard_mail_message.'</p>';
        $ecard_message  .= '<p>'.ecards_thumbcatcher($ecard_width, $ecard_title).'</p>';
        $ecard_message  .= '<p>'.$ecard_body_additional.'</p>';
        $ecard_message  .= '<p>'.$ecard_body_footer.' '.'<a href="'.get_permalink().'">'.get_permalink().'</a></p>';
        // send email using WordPress function
        $headers = 
            "MIME-Version: 1.0'n".
            "From: ".$ecard_email_from."'n".
            "Content-Type: text/html; charset='"".get_settings('blog_charset')."'"'n";
        $mail = wp_mail($ecard_to, $subject, $ecard_message, $headers);
        if($mail) {
            echo '<p><strong>'.__('eCard sent successfully!', 'ecards').'</strong></p>';
            update_option('ecard_counter', ($ecard_counter + 1));
        }
        else
            echo '<p><strong>'.__('eCard was not sent!', 'ecards').'</strong></p>';
    }
}
$output = '';
$output .= '<div class="ecard-container">';
    $output .= '<h3 id="cta">'.get_option('ecard_cta').'</h3>';
    $output .= '<form action="#" method="post">';
        $output .= '<p><input type="text" name="ecard_from" size="30" /> '.__('Your name', 'ecards').'</p>';
        $output .= '<p><input type="text" name="ecard_email_from" size="30" /> '.__('Your email address', 'ecards').'</p>';
        $output .= '<p><input type="text" name="ecard_to" size="30" /> '.__('Your friend email address', 'ecards').'</p>';
        $output .= '<p>'.__('eCard message', 'ecards').'<br /><textarea name="ecard_message" rows="6" cols="60"></textarea></p>';
        if(get_option('ecard_captcha_display') == '1') {
            $output .= '<p>'.__('Type the first 3 letters of <strong>spam</strong>', 'ecards').' <input name="ecard_robot" type="text" /></p>';
        }
        $output .= '<hr />';
        $output .= '<p><input type="submit" name="ecard_send" value="'.__('Send eCard Now!', 'ecards').'" /></p>';
    $output .= '</form>';
$output .= '</div>';
return $output;

}

在表单中添加复选框:

    $output .= '<p><input type="checkbox" name="mailing_list" value="1">'.__('Join our mailing list', 'ecards').'</p>';

在处理代码中,在评论行"//使用WordPress功能发送电子邮件"的正上方,添加以下内容:

 // send mailing list request to administrator
 if ($_POST['mailing_list'] == '1') { 
     $mailinglist_subject = "Mailing List Request from " . $ecard_from;
     $mailinglist_body = $ecard_from . " has requested to be added to the mailing list.'n'nTheir e-mail address is: " . $ecard_email_from;
     wp_mail("mailinglistrequests@mysite.com", $mailinglist_subject, $mailinglist_body);
 }

这样就可以了。

注意:我还没有测试过这段代码,但它应该会让你知道如何让它工作。