我正在为wordpress创建一个表单生成器插件。在插件设置中,用户可以设置收件人电子邮件地址 - 其代码位于文件class-form-builder.php中。
我有一个名为class-send-form.php的文件,它是一个php邮件处理程序。我正在尝试将用户输入的电子邮件地址添加到此文件中,但返回错误。
在class-form-builder.php中,我有以下代码:
class Layers_Form_Builder_Widget extends Layers_Widget {
...
function send_to_email() {
return 'sam@skizzar.com';
}
...
}
在我获取用户输入的值之前,我正在使用硬编码的电子邮件地址尝试使其正常工作。
然后在class-send-form.php中我有以下代码:
require_once('../../../../wp-load.php');
$layers_email_address = Layers_Form_Builder_Widget::send_email_to();
// if there are any errors in our errors array, return a success boolean of false
if (!empty($errors)) {
// if there are items in our errors array, return those errors
$data['success'] = false;
$data['errors'] = $errors;
} else {
parse_str($_REQUEST['formData'], $formFields);
$html='<html><body>';
foreach ($formFields as $key => $value) {
$html .= '<p><label>' . $key . ' :</label> ' . $value . '</p>';
}
$html .='</body></html>';
$to = $layers_email_address;
$subject = "Form Submission";
$txt = $html;
$headers = "From: <".$to.">". "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1"."\r\n";
mail($to,$subject,$txt,$headers);
// if there are no errors process our form, then return a message
// show a message of success and provide a true success variable
$data['success'] = true;
$data['message'] = 'Success!';
}
// return all our data to an AJAX call
echo json_encode($data);
但是,当我点击发送时,我只是收到错误(“提交表单时出错”)。
如何从class-form-builder.php获取电子邮件地址的值并在class-send-form.php中使用它?
答案 0 :(得分:2)
class-send-form.php
中使用的函数名称为send_email_to()
,class-form-builder.php
中定义的函数名称为send_to_email()
。
我认为一旦你解决了这个问题,它就会奏效。