这涉及到我在这里发布的另一个问题,但它是一个 不同的问题,所以我希望人们不认为我是双重发布。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