我在一个表格上工作,其核心是两个字段集:主要和“其他收件人”;在“其他收件人”字段集的末尾,我有一个“添加另一个收件人”链接 .
这是谁需要什么:
Main recipient: 一切
Other recipient: "other recipient" fieldset;
Sub-sequent recipients: 各个字段集
到目前为止,我一直在看Documentation,但那里没有多少运气,也不是我所期待的 .
编辑
我认为这还不清楚,所以我会更明确地说明背景是什么 . 我的 form
是一个注册,我们可以注册多个人;其中一个字段标记为"Your email" . 由于我们可以同时注册多个人,因此我需要复制包含"Your email"的 fieldset
.
编辑2
为了帮助澄清,想象一下,我们正在为夏令营注册孩子 . 第一个 fieldset
是通用的,比如父母的账单信息,第二个 fieldset
是孩子的信息 . 父母需要能够填写单个 form
并动态添加父母所需的子项 .
在每个孩子的 fieldset
中,他们的电子邮件是必需的,他们会收到与这个孩子相关的信息,其中的电子邮件类似于:
Hello {children's name},
You've been registered to StackOverflow Summer Camp. Here's the information you need to know:
[...]
Thanks for being a good sport!
希望这可以帮助 .
3 回答
当你有这样一个特定的用例时,将功能强加到外围相关的插件中往往会导致挫败感 . 话虽这么说 - 有时你会嫁给一个特定的插件或方法,只需要 Build 在它之上 .
有了这个警告,我认为你应该从联系表格7的 creating a new fieldtype 角度处理这个问题 . 这样你就可以控制在另一个答案的评论中提到的字段's HTML, the data validation, among other things. It might also provide an launch point for DB storage and sending reminders, later, as you' .
以下是这种方法:
新的fieldtype称为
emailplus
,并将其包含在如下形式中:另外,我've set the recipient under the 1707025 panel in the form'的设置为
[emails]
.如果将
emailsplus
字段设置为收件人,则该类将覆盖默认的wpcf7行为,并将邮件发送到email
数组中的每个值,并在每封电子邮件的基础上替换邮件正文中的任何[电子邮件]占位符 .emailplus
字段类型在这里封装在一个类中,并且自由地评论:并且,处理克隆的.js文件 . 它应该住在
/path/to/your/theme/js/cf7-duplication.js'
.最后,但并非最不重要的是,如果您希望表单在淡出时有效并且电子邮件已经消失,请将其添加到“其他设置”面板中 .
这种方法最适合CF7的AJAX提交 . 如果要扩展它以处理vanilla POST请求,可以更新短代码处理程序以呈现多个
<input>
字段,您需要在无效提交时保留value
attr .选项1)在设置菜单中的邮件点按下,单击邮件(2)后,在TO:字段中添加此行 . 如果父母的孩子少于所述的孩子数量,额外的电子邮件地址应该什么都不做 . [email],[email]是基本格式 .
选项2)在TO:字段中,只需放置1个电子邮件地址,例如父母 . 并在附加 Headers 中:将代码放在下面
要么
可能出现的问题:许多主机阻止这样的事情以防止垃圾邮件 . 如果这些不起作用,那么可能就是这种情况 . 您需要联系您的托管服务提供商以了解删除该块 .
联系表单7只有一个收件人字段,但您可以在该字段中输入多个以逗号分隔的电子邮件地址,例如“email1 @ domain.com,email2 @ domain.com,email3 @ domain.com” .
因此,对于您的情况,使用JavaScript动态添加多个重复的收件人字段,最后在表单上提交编写JavaScript函数以连接所有收件人电子邮件地址,然后将其保留在主收件人字段中并提交表单 . 希望你明白我的意思 .