0

我正在尝试使用wp_mail我的代码结果通过电子邮件发送复选框值列表正在发送电子邮件

但是该值作为数组返回。我明白为什么,但我不确定如何分解数组,我不知道如何在这里实现 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>
4

1 回答 1

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”的东西

于 2013-08-07T00:30:18.443 回答