我想打电话wp_mail()
从一个非模板PHP文件,但当我这样做时,它失败了,我不明白为什么。例如,假设我有一个PHP文件,它只包含以下内容:
<?php
echo \'hi\';
$mail_sent = wp_mail(\'[email protected]\', \'subject\', \'message\');
echo $mail_sent;
?>
如果我直接在浏览器中加载该PHP文件,则只会打印“hi”。如果我删除
echo \'hi\';
总之,没有打印任何内容,这向我表明
wp_mail()
无法在此特定上下文中调用。但是,如果我添加
/* Template Name: SomeName */
并使用创建新页面
SomeName
作为其模板,
wp_mail()
正确执行。很明显,我缺少一些关于如何正确调用的关键信息
wp_mail()
.
我之所以要这样做,是因为我使用的主题附带了一个通过ajax请求提交电子邮件的联系人表单,大致如下所示:
form.submit(function() {
$j.ajax({
type: \'GET\',
url: "http://www.example.com/wp-content/themes/themeX/send_mail.php",
data: form.serialize(),
});
});
目前,
send_mail.php
调用PHP
mail()
“有效”但极其脆弱的功能。我想让它打电话
wp_mail()
所以我可以利用
this plugin 它使用SMTP服务器发送邮件。所以我的问题是:我怎样才能
wp_mail()
在这种情况下工作?
谢谢