我尝试使用wp_mail
通过电子邮件发送复选框值列表,我的代码IS的结果是发送电子邮件
但该值以数组形式返回..我理解为什么,但我不确定如何分解数组,我不知道如何在这里实现foreach。
PHP:
//checkmarks post variable
$checks = $_POST['personalization_result'];
//php mailer variables
$to = get_option('admin_email');
$subject = "Someone sent a message from ".get_bloginfo('name');
$headers = 'From: '. $email . "rn" .
$sent = wp_mail($to, $subject, $checks, $headers);
HTML:
<form action="<?php the_permalink(); ?>" method="post">
<input type="hidden" name="submitted" value="1">
<input type="submit">
<li class="option table selected">
<div class="option-checkbox">
<input type="hidden" value="0" name="personalization_result[memory_0]">
<input type="checkbox" value="1" name="personalization_result[memory_0]" id="personalization_result_memory_0" checked="checked">
</div>
</div>
</li>
<li class="option table selected">
<div class="option-checkbox">
<input type="hidden" value="0" name="personalization_result[memory_1]">
<input type="checkbox" value="1" name="personalization_result[memory_1]" id="personalization_result_memory_1" checked="checked">
</div>
</div>
</li>
</form>
答案 0 :(得分:1)
在致电wp_mail
函数之前,您需要处理$checks
变量并将其转换为字符串,例如:
$checks = $_POST['personalization_result'];
$checkString = ''
foreach ($checks as $k=>$v) {
//some code to build up $checkString
}
您显然必须在$checkString
来电中使用$checks
代替wp_mail
。 。 。
或者,如果您不关心密钥,您可以执行以下操作:
$sent = wp_mail($to, $subject, implode("|",$checks), $headers);
然后你会得到像“0 | 1”
这样的东西