【发布时间】:2014-08-03 20:04:15
【问题描述】:
我正在尝试制作一个插件,该插件列出数据库中的所有用户,并为每个用户提供一个向他们发送电子邮件的按钮。因此,我可以使用他们的用户名获取他们的电子邮件地址的唯一方法是使用单击按钮后给出的 $POST 。使用他们的用户名,我可以搜索 db 表以检索电子邮件。这里的问题是页面将重新加载,并且函数 wp_mail 在 pluggable.php 加载其函数之前被调用。 这是帖子:
if ($_POST) {
sendEmail(current(array_keys($_POST)));
echo "<script type='text/javascript'>alert('Email is sent!')</script>";
}
这里是函数:
function sendEmail($username) {
global $wpdb;
$user = $wpdb->get_row("SELECT email, firstname from wp_site_users WHERE username ='" . $username ."'" , ARRAY_A);
$mail = $wpdb->get_row("SELECT * from wp_send_email WHERE id='1'", ARRAY_A);
$to = $user['email'];
$subject = 'Hello!';
$message = $mail['header'] . $user['firstname'] ."\n";
$message .= $mail['content'] . $username . "\n";
$message .= $mail['footer'];
$headers = 'From: '.'test@test.com'."\r\n";
echo $to . "<br>" . $subject . "<br>" . $message . "<br>" . $headers;
wp_mail($to, $subject, $message, $headers);
}
我尝试在标题处添加add_action( 'plugins_loaded', 'sendEmail' );,但这似乎不起作用。
有什么想法吗?
【问题讨论】:
-
你需要在你的插件中包含 wp_config.php,因为这个错误是在 wp_config 超出范围时发生的。
-
您已将 javascript 标签添加到此问题,因此它可能与 ajax 相关,因此:wordpress.stackexchange.com/questions/45154/… 对您有什么帮助吗?
标签: javascript php plugins wordpress