无法向联系人表单7添加多个附件

时间:2018-09-10 作者:Chris

我正在使用我们网站上的联系表7,以便人们预订活动。预订后,他们将收到一份ICS文件和一张PDF格式的门票。我正在使用wpcf7_before_send_mail 钩子更改用户预订后发送给他们的电子邮件。

一切都很好,我可以添加一个附件,但只要我添加多个附件,它就不起作用了。

我还确认,我的代码中没有错误。

Here\'s my code:

add_attachments_before_send($WPCF7_ContactForm)  
{
     $wpcf       = WPCF7_ContactForm::get_current(); 
     $submission = WPCF7_Submission::get_instance();

     if ($submission)
     {
         // This generates the ICS file and returns as a file path
         $ics    = generateICS( $pID, $dts, $dte, $venue );
         // This generates the event ticket file and also returns as a file path
         $ticket = generate_event_ticket( $pID, $dts, $venue, $name );

         $mail = $wpcf->prop(\'mail_2\');

         if ($ics)
         {
            $mail[\'attachments\'][] = $ics;
         }
         if ($ticket)
         {
            $mail[\'attachments\'][] = $ticket;
         }

         $wpcf->set_properties(array(
            \'mail_2\' => $mail
         ));

         return $wpcf;
     }
}
add_action("wpcf7_before_send_mail", "add_attachments_before_send"); 
我也尝试过更换这个$mail[\'attachments\'][] = $ics; 具有$mail[\'attachments\'] .= $ics; 将其用作字符串,但也不起作用。

1 个回复
最合适的回答,由SO网友:Chris 整理而成

我刚想出来,有点愚蠢的错误。$mail[\'attachments\'] 应为字符串而不是数组。添加多个附件时,每个文件后面需要有一个新行,例如:。\\n

参考请参见联系表7mail.php 位于includes文件夹中的文件:https://github.com/wp-plugins/contact-form-7/blob/master/includes/mail.php#L113

结束

相关推荐

无法向联系人表单7添加多个附件 - 小码农CODE - 行之有效找到问题解决它

无法向联系人表单7添加多个附件

时间:2018-09-10 作者:Chris

我正在使用我们网站上的联系表7,以便人们预订活动。预订后,他们将收到一份ICS文件和一张PDF格式的门票。我正在使用wpcf7_before_send_mail 钩子更改用户预订后发送给他们的电子邮件。

一切都很好,我可以添加一个附件,但只要我添加多个附件,它就不起作用了。

我还确认,我的代码中没有错误。

Here\'s my code:

add_attachments_before_send($WPCF7_ContactForm)  
{
     $wpcf       = WPCF7_ContactForm::get_current(); 
     $submission = WPCF7_Submission::get_instance();

     if ($submission)
     {
         // This generates the ICS file and returns as a file path
         $ics    = generateICS( $pID, $dts, $dte, $venue );
         // This generates the event ticket file and also returns as a file path
         $ticket = generate_event_ticket( $pID, $dts, $venue, $name );

         $mail = $wpcf->prop(\'mail_2\');

         if ($ics)
         {
            $mail[\'attachments\'][] = $ics;
         }
         if ($ticket)
         {
            $mail[\'attachments\'][] = $ticket;
         }

         $wpcf->set_properties(array(
            \'mail_2\' => $mail
         ));

         return $wpcf;
     }
}
add_action("wpcf7_before_send_mail", "add_attachments_before_send"); 
我也尝试过更换这个$mail[\'attachments\'][] = $ics; 具有$mail[\'attachments\'] .= $ics; 将其用作字符串,但也不起作用。

1 个回复
最合适的回答,由SO网友:Chris 整理而成

我刚想出来,有点愚蠢的错误。$mail[\'attachments\'] 应为字符串而不是数组。添加多个附件时,每个文件后面需要有一个新行,例如:。\\n

参考请参见联系表7mail.php 位于includes文件夹中的文件:https://github.com/wp-plugins/contact-form-7/blob/master/includes/mail.php#L113

相关推荐