联系表单7-邮件发送后执行代码

时间:2015-07-30 作者:Menno van der Krift

在发送邮件之前,我已经知道了如何做一些事情,但我还需要在邮件发送后采取行动。

我试过了wpcf7_after_send_mail 但没有成功。。。

如果能在这件事上提供任何帮助,我们将不胜感激。

3 个回复
最合适的回答,由SO网友:Menno van der Krift 整理而成

EDIT:

请注意,截至2017年\'on_sent_ok\' is deprecated. 这意味着您的代码将在将来的某个时候停止工作(可能在2017年底之前)。建议的解决方案是直接使用DOM事件侦听器。例如,如果使用:

on_sent_ok: "ga( \'send\', \'event\', \'Contact Form\', \'submit\' );"
应将其替换为:

document.addEventListener( \'wpcf7mailsent\', function( event ) {
    ga( \'send\', \'event\', \'Contact Form\', \'submit\' );
}, false );
JavaScript代码可以放置在页面的页脚中。

ORIGINAL ANSWER:

好吧,我想出来了。在特定表单设置中,转到“其他字段”选项卡。键入以下内容:on_sent_ok: "location.replace(\'http://www.website-redirect.com\');"

现在它对我很有吸引力。希望这对将来的其他开发人员也有帮助。

enter image description here

我知道图像是荷兰语的。。。但你不能错过big red lines 选项卡名称周围。

SO网友:adamtomat

如果有人仍在这里寻找在发送电子邮件后运行PHP代码的方法,请联系表单7wpcf7_mail_sent 钩子就是这个。用法看起来有点像:

// ...in functions.php
add_action(\'wpcf7_mail_sent\', function ($cf7) {
    // Run code after the email has been sent
});
还有wpcf7_mail_failed, 当电子邮件失败时,您可以通过它进行连接。

SO网友:buzztone

使用on\\u sent\\u ok,如中所述contactform7.com/additional-settings 对于添加一些简单的JavaScript非常有用,如redirecting to another page.

然而,由于Javascript与您当前的WordPress主题或您正在使用的其他插件冲突,它很容易失败。

on_Send_ok是在联系人表单7中运行的最后一件事,因此任何错误的Javascript冲突都可以阻止此操作。

作为替代方案,接触表7有大量挂钩,如下所示:http://hookr.io/plugins/contact-form-7/. 这些可以提供更有针对性、更强健的解决方案。

结束

相关推荐

Hooks for Links Box

Possible Duplicate:Getting archive pages in WP's AJAX internal link finder? 新的有挂钩吗internal links box 创建于WP 3.1? 我正在尝试在插件中修改它。

联系表单7-邮件发送后执行代码 - 小码农CODE - 行之有效找到问题解决它

联系表单7-邮件发送后执行代码

时间:2015-07-30 作者:Menno van der Krift

在发送邮件之前,我已经知道了如何做一些事情,但我还需要在邮件发送后采取行动。

我试过了wpcf7_after_send_mail 但没有成功。。。

如果能在这件事上提供任何帮助,我们将不胜感激。

3 个回复
最合适的回答,由SO网友:Menno van der Krift 整理而成

EDIT:

请注意,截至2017年\'on_sent_ok\' is deprecated. 这意味着您的代码将在将来的某个时候停止工作(可能在2017年底之前)。建议的解决方案是直接使用DOM事件侦听器。例如,如果使用:

on_sent_ok: "ga( \'send\', \'event\', \'Contact Form\', \'submit\' );"
应将其替换为:

document.addEventListener( \'wpcf7mailsent\', function( event ) {
    ga( \'send\', \'event\', \'Contact Form\', \'submit\' );
}, false );
JavaScript代码可以放置在页面的页脚中。

ORIGINAL ANSWER:

好吧,我想出来了。在特定表单设置中,转到“其他字段”选项卡。键入以下内容:on_sent_ok: "location.replace(\'http://www.website-redirect.com\');"

现在它对我很有吸引力。希望这对将来的其他开发人员也有帮助。

enter image description here

我知道图像是荷兰语的。。。但你不能错过big red lines 选项卡名称周围。

SO网友:adamtomat

如果有人仍在这里寻找在发送电子邮件后运行PHP代码的方法,请联系表单7wpcf7_mail_sent 钩子就是这个。用法看起来有点像:

// ...in functions.php
add_action(\'wpcf7_mail_sent\', function ($cf7) {
    // Run code after the email has been sent
});
还有wpcf7_mail_failed, 当电子邮件失败时,您可以通过它进行连接。

SO网友:buzztone

使用on\\u sent\\u ok,如中所述contactform7.com/additional-settings 对于添加一些简单的JavaScript非常有用,如redirecting to another page.

然而,由于Javascript与您当前的WordPress主题或您正在使用的其他插件冲突,它很容易失败。

on_Send_ok是在联系人表单7中运行的最后一件事,因此任何错误的Javascript冲突都可以阻止此操作。

作为替代方案,接触表7有大量挂钩,如下所示:http://hookr.io/plugins/contact-form-7/. 这些可以提供更有针对性、更强健的解决方案。

相关推荐

About Hooks and Filters

嗯,我很难理解动作和过滤器之间的区别。我确实在代码中使用动作,但我是一个新手,甚至连一点过滤器都不知道。我去过codex,以及NickTheGeek、BillErickson、GaryJones等的多个网站,但没有去过vein。如果你能用简单的话告诉我,并举例说明动作、过滤器和挂钩的基本内容和区别。非常感谢。