這涉及到我在這裏發佈的另一個問題,但它是一個 不同的問題,所以我希望人們不認爲我是雙重發布。php mail()函數在Wordpress中工作嗎?
我在Wordpress中有這樣的電子郵件表單。
HTML
jQuery的
$j('#submit').click(function(){
//
var nameVal = $j('#contactForm #contactName').val();
var emailVal = $j('#contactForm #contactEmail').val();
var messageVal = $j('#contactForm #contactMessage').val();
//
$j.post('wp-content/code/contactEngine.php', { theName:nameVal, theEmail:emailVal, theMessage:messageVal }, function(data){
$j("#status p").html(data);
$j("#status p").show().fadeOut(3500);
if(data.indexOf('Thank You')==0) {document.forms[0].reset();}
});
})
PHP
<?php
$errors = array();
$required_fields = array('theName','theEmail','theMessage');
foreach($required_fields as $fieldname){
if(!isset($_POST[$fieldname]) || empty($_POST[$fieldname])){
$errors[] = $fieldname;
}
}
if(empty($errors)){
$name_field = Trim(stripslashes($_POST['theName']));
$name = explode(' ', $name_field);
$firstname = ucfirst($name[0]);
$email_field = Trim(stripslashes($_POST['theEmail']));
$message = Trim(stripslashes($_POST['theMessage']));
//
$to = "[email protected]";
$subject = "Email from Website";
$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";
//
mail($to, $subject, $body);
//wp_mail($to, $subject, $body);
echo "Thank You $firstname";
}else{
echo "Please complete all fields.";
}
?>
的PHP是在wp-content文件夾中的文件夾中,因此很容易在jQuery來訪問它。
$j.post('wp-content/code/contactEngine.php', { theName:nameVal, theEmail:emailVal, theMessage:messageVal }, function(data){
變量到達PHP並回顯回覆,如果表單完成與否。
實際郵件不發送 - php mail()函數是否在Worpdress中工作?
我試過wp_mail()函數,但是這完全停止了腳本,我沒有得到回聲。
我知道有電子郵件插件,如聯繫表7,但我不認爲他們將與本網站一起工作。
這是一個單頁網站使用自定義類型後,我沒有要求任何內容,我認爲我與定義聯繫表7
謝謝ZorleQ。我實際上是在MAMP本地工作。當它在Wordpress之外時,這個相同的腳本在MAMP中起作用。 – ttmt 2013-03-21 11:22:19
這是否意味着它在本地(在MAMP中)與WordPress集成時失敗,還是意味着它與託管站點集成在一起時會失敗?這裏有兩個變量。確保你已經分開了他們的影響。 – ebohlman 2013-03-21 11:25:18
使用Wordpress在本地(在MAMP中)失敗。我還沒有嘗試過它託管。 – ttmt 2013-03-21 11:37:18