2013-03-21 125 views
0

WordPress的電子郵件形式WordPress的電子郵件形式

大家好

我一直在使用這種電子郵件的形式在多家網站和它總是奏效。

我想在一個WordPress站點使用它,但它不會

有什麼明顯的原因,這種方法不會在WordPress站點工作。

我需要一個電子郵件表單,它不會重新加載聯繫頁面,因爲表單位於底部。

HTML

<form action="#" id="contact_form"> 
     <input type="text" id="name" placeholder="Name:"> 
     <input type="text" id="email" placeholder="Email:"> 
     <textarea id="message" rows="8" cols="40" placeholder="Message:"></textarea> 
       <input type="submit" id="submit"/> 
       <div id="status"> 
      <p></p> 
     </div> 
    </form> 

jQuery的

 $('#submit').click(function(){  
     // 
     var nameVal = $('#contact_form #name').val(); 
     var emailVal = $('#contact_form #email').val(); 
     var messageVal = $('#contact_form #message').val(); 
     // 
     $.post('/contact_form.php', {name: nameVal, email: emailVal, message: messageVal}, function(data){ 
      $("#status p").html(data); 
      $("#status p").show().fadeOut(3500); 
      if(data.indexOf('Thank You')==0) {document.forms[0].reset();} 
     }); 
     }) 

PHP

 $errors = array(); 
     $required_fields = array('name','email','message'); 
     foreach($required_fields as $fieldname){ 
      if(!isset($_POST[$fieldname]) || empty($_POST[$fieldname])){ 
       $errors[] = $fieldname; 
      } 
     } 

     if(empty($errors)){ 
      $name_field = Trim(stripslashes($_POST['name'])); 
      $name = explode(' ', $name_field); 
      $firstname = ucfirst($name[0]); 
      $email_field = Trim(stripslashes($_POST['email'])); 
      $message = Trim(stripslashes($_POST['message'])); 
      // 
      $to = "[email protected]"; 
      $subject = "Email from Website"; 
      $body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message"; 
      // 
      mail($to, $subject, $body); 
      echo "Thank You $firstname"; 
     }else{ 
      echo "Please complete all."; 
     } 

--- UPDATE ---

我有我的一部分現在工作。

部分問題是jQuery找不到php。

我在wp-conntent裏創建了一個'code'文件夾,並把php放在那裏,jquery看起來像這樣。

$j.post('wp-content/code/contactEngine.php', { theName:nameVal, theEmail:emailVal, theMessage:messageVal }, function(data){ 

現在我得到了返回的數據形式的PHP文件,但電子郵件沒有發送。

這樣不是會在WP

mail($to, $subject, $body); 
+0

究竟哪些方法無效?你有錯誤嗎?日誌文件說什麼? – uncovery 2013-03-21 08:05:31

+0

爲什麼不去爲WordPress的「聯繫表單7」插件。這將滿足您的所有要求。 – Harpreet 2013-03-21 08:08:40

+0

揭祕 - 我沒有得到電子郵件或數據形式的PHP文件。我在哪裏可以找到日誌文件? – ttmt 2013-03-21 08:33:01

回答

2

的工作,你無法在WordPress的使用$ _ POST [ '名']。使用其他輸入字段的namings將解決您的問題,最終您可以使用'Contact Form 7'Wordpress插件來獲得更好的用戶體驗:-)