2012-01-23 28 views
0

我真的很感謝任何幫助。添加複選框以發送表單到電子郵件(使用WP MAIL?)

我正在爲用戶發送情人節電子賀卡,並且我想編輯代碼,以便我可以添加一個複選框,以便人們可以打勾以加入我們的郵件列表。

選中時,我想通過Wordpress郵件將表單發送到指定的電子郵件地址,因爲我使用的插件使用此係統。我已經包含下面的代碼:

SORRY附加SO MUCH代碼,但我不想錯過任何OUT

// 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; 

}

回答

0

在您的形式,添加複選框:

$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("[email protected]", $mailinglist_subject, $mailinglist_body); 
} 

應該這樣做。

注意:我沒有測試過這段代碼,但它應該給你一個想法如何讓它工作。

相關問題