我正在使用WordPress插件来接受在线预订(预约时间预订),我需要在提交预订请求后将文件附加到发送的电子邮件中(带有一般预订条款的PDF文件)。我已经通过以下方式编辑对wp_mail()函数的调用来应用解决方案:
wp_mail(trim($payer_email), $subject, $message,
"From: ".$from."\r\n".
$content_type. "X-Mailer: PHP/" . phpversion(),
array(WP_CONTENT_DIR . '/uploads/agreement.pdf'));
以上方法有效,但是每次插件更新时,文件都会被覆盖,我必须再次重新应用代码修改。有一种更好的方法可以做到这一点,而不受插件更新的影响,或者有一种方法可以部分或完全阻止WordPress中的插件更新?
在此先感谢您的帮助。
答案 0 :(得分:0)
您的选择是:
我最喜欢第二种选择,因为:
答案 1 :(得分:0)
禁用插件更新不是一个好主意,您可能会丢失重要的兼容性或安全更新。修改对wp_mail()的调用的方式还导致其他与附件相关的功能停止工作。您提到的插件具有一个过滤器,可用于修改附件文件列表,例如,您可以将以下代码放入主题的functions.php文件中:
add_filter( 'cpappb_email_attachments', 'my_attach_function', 10, 3 );
function my_attach_function( $attachments, $params, $form_id )
{
$attachments[] = WP_CONTENT_DIR . '/uploads/agreement.pdf';
return $attachments;
}
在上述代码位于插件文件之外的情况下,您的文件将添加到附件列表中,而不会删除其他附件,并且将代码定位在插件文件之外将防止插件更新覆盖。