WordPress站点实现用户填邮箱手机号后发送文档的方案咨询
WordPress 文档索要自动发送功能实现方案
可直接使用的插件方案
- Contact Form 7
常用的免费表单插件,配置时添加邮箱、手机号两个必填字段,在表单的「邮件」设置板块配置自动回复规则,将目标文档作为附件挂载到自动回复邮件中即可,用户提交信息后系统会自动触发发信逻辑。如果有多个不同文档对应不同申请场景,可单独为每个文档创建对应表单,分别挂载不同附件即可。 - WPForms
轻量级可视化表单插件,免费版就支持自动回复附件发送功能,后台为拖拽式配置,操作门槛较低,新手也可以快速完成配置。 - Gravity Forms
付费表单插件,自带手机号格式校验、重复提交拦截、提交数据留存等进阶功能,如果你有额外的精细化需求可以选择这个插件,无需额外写代码即可完成全流程配置。
自定义代码实现路径(无需额外安装插件)
如果你不想新增表单插件,可以直接在主题functions.php文件中添加自定义代码实现全逻辑,核心分为前端提交表单、后端参数校验、触发带附件邮件发送三个环节,后端处理参考代码如下:
// 处理文档申请提交请求 add_action('wp_ajax_nopriv_send_apply_document', 'send_apply_document'); add_action('wp_ajax_send_apply_document', 'send_apply_document'); function send_apply_document() { // 后端参数二次校验 if(!is_email($_POST['user_email']) || empty($_POST['user_phone'])) { wp_send_json_error('信息填写有误,请检查后重新提交'); } $user_email = sanitize_email($_POST['user_email']); $user_phone = sanitize_text_field($_POST['user_phone']); // 替换为你站点内对应文档的实际存储路径 $document_path = ABSPATH . 'wp-content/uploads/target-document.pdf'; // 邮件配置 $mail_to = $user_email; $mail_subject = '您申请的文档已送达'; $mail_content = '您好,附件是您申请的文档,请查收。'; $mail_headers = array('Content-Type: text/html; charset=UTF-8'); $mail_attachments = array($document_path); // 调用WordPress内置发信函数发送邮件 if(wp_mail($mail_to, $mail_subject, $mail_content, $mail_headers, $mail_attachments)) { // 此处可自行添加用户提交信息留存的逻辑 wp_send_json_success('提交成功,文档已发送至您的邮箱'); } else { wp_send_json_error('发送失败,请稍后重试或联系站点管理员'); } }
注意:使用前请先确认你的WordPress站点发信功能正常,若存在发信失败的情况,可先配置SMTP发信功能保证邮件送达率。
内容的提问来源于stack exchange,提问作者Nadia Elida Aamand
相关产品推荐
相关产品推荐

