我从表单中获取数据并使用wp_mail
通过电子邮件发送,因为有多个数据(所有复选框数据)显然需要一个foreach。
我无法解决在foreach中获取数据并在声明之外使用它的问题。
//My form data
$checks = $_POST['personalization_result'];
//Pass the foreach array into this variable and use this to mail
$checkString = '';
//For each checkbox data
foreach ($checks as $k => $v) {
var_dump ($v);
}
//Email the data
$sent = wp_mail($to, $subject, $checkString, $headers); //I have set up the other variables but its not necessary to add here just focused on $checkString
表格的片段
<form action="<?php the_permalink(); ?>" method="post">
<?php echo $checkString; ?>// Trying to see what the array is doing
<input type="hidden" name="submitted" value="1">
<p><input type="submit"></p>
<li class="option table selected">
<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">
</li>
<li class="option table selected">
<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">
</li>
对不起,如果这有点小说,但这是我通过询问学习的方式。
答案 0 :(得分:2)
由于wp_mail
的第三个参数message
是一个字符串,我认为你可以完全避免使用foreach并使用array_values将值作为数组获取并使用某些胶水连接它们循环遍历$checks
数组。请尝试:
$checkValues = array_values($checks);
$checkString = implode(',', $checkValues); // This generates comma separated list of values.
根据您希望如何显示.$checkValues