向 WordPress 插件发送的电子邮件添加附件

Adding attachments to email sent by a WordPress plugin

我正在使用 WordPress 的 payment/email 交付插件,名为 CP Contact Form with PayPal,并希望将 PDF 文件附加到电子邮件中,为此,我将编写自己的插件。有没有办法在不访问第三方插件代码的情况下做到这一点?

该插件有一个用于该目的的过滤器,将此代码用于您自己的插件:

add_filter( 'cpcfwpp_email_attachments', 'my_pdf_file_function' ), 10, 3 );
function my_pdf_file_function( $attachments, $params, $form_id)
{
    $attachments[] = WP_CONTENT_DIR . '/uploads/my_pdf_file.pdf';
    return $attachments;
}

这样您就可以使用 PayPal 电子邮件向 CP 联系表添加附件,而无需修改插件代码。

关于 'cpcfwpp_email_attachments' 过滤器的参数:

$attachments 是要包含在电子邮件中的文件数组,此数组中的每一项都应包含要附加的文件的完整路径。

$params 是一个包含提交数据的关联数组,使用字段 ID 作为键(您可以在表单构建器中检查字段 ID)。它还包含 $params["itemnumber"] 以检查提交 ID。

$form_id是提交表单的ID。

可以在带有 PayPal 插件网站的 CP 联系表中找到更多信息。