如何正确使用CF7钩子

时间:2019-11-15 18:05:28

标签: wordpress plugins contact-form-7

我刚接触Wordpress开发,因此如果我的问题很愚蠢,请原谅。

提交CF7时,我试图调用REST API。因此,我尝试同时加入wpcf7_before_send_mail和wpcf7_mail_sent,但无济于事。每当我将此代码放在主题的functions.php文件中时;表单不提交,并且继续加载(就像正在尝试提交一样)

为简单起见,我尝试执行一个简单的重定向,如下面的代码所示,但这也不起作用。当我从functions.php文件中删除以下代码时,该表单有效。

add_action("wpcf7_mail_sent", "wpcf7_do_something_else");  
function wpcf7_do_something_else($cf7) {
    wp_redirct('https://google.com');
}

请告知我我做错了。非常感谢你!

1 个答案:

答案 0 :(得分:0)

它一直在加载,因为它是一个ajax函数,而您试图在其中使用'wp_redirect'却无法正常工作。

“ wpcf7_mail_sent”钩子工作正常,您可以使用类似的方法进行测试

add_action("wpcf7_mail_sent", "wpcf7_do_something_else");  
function wpcf7_do_something_else($cf7) {
    var_dump($cf7);exit;
}

在发送表单监视器时,浏览器的开发工具中的“网络”标签会显示结果,您会发现它返回已提交数据的对象。