CF7:如果提交错误,则重定向到另一个URL

时间:2018-11-11 20:08:59

标签: wordpress contact-form-7

我已经使用WordPress的Contact Form 7插件创建了一个表单。

我的表单如下:

<label> User Name*
    [text* your-name] </label>

<label> Email Adress*
    [email* your-email] </label>

[submit "Register"]

我可以通过本教程https://cfdbplugin.com/?page_id=904

来检测是否有人试图使用相同的电子邮件地址(已注册)。

但是,当显示错误消息时,如何让页面在一段时间后将其重定向到另一个URL?例如,“ / homesite /?para =”

也许我需要用这段代码做些事情

if (is_already_submitted($formName, $fieldName, $_POST[$name])) {
        $result->invalidate($tag, $errorMessage);
    }
}
return $result;

但是我不知道该如何修改这些代码。请帮助我。

1 个答案:

答案 0 :(得分:0)

您可以使用DOM事件来做到这一点。 CF7具有自定义DOM事件,可用于将用户重定向到其他页面。由于要在表单数据无效时进行重定向,因此需要使用wpcf7invalid事件。

  

wpcf7invalid-Ajax表单提交成功完成但由于字段输入无效而尚未发送邮件时触发。

一个简单的例子:

function my_awesome_cf7_custom_events () { ?>
    <script type="text/javascript">
        document.addEventListener( 'wpcf7invalid', function( event ) {
            if ( 'FORM_ID' == event.detail.contactFormId ) {//<===replace FORM_ID with form id
                location.replace('https://your-new-url/');
            }
        }, false );
    </script>
<?php }
add_action( 'wp_footer', 'my_awesome_cf7_custom_events' );

用您的表单ID替换FORM_ID,然后设置您的网址。

More about CF7 DOM events