延迟自动回复 CF7

问题描述 投票:0回答:0

我们通过添加附加功能设置了基于字段输入的自动自动回复器。但是,现在它直接发送。我们想要的是在延迟后只发送那个自动回复,所以表格本身可以立即发送。

我尝试通过在函数中添加 sleep() 来做到这一点,但是填写表格的人也会看到加载动画,直到那个时候被折叠。

当前代码:

//Autoresponder CF7
add_action( 'wpcf7_mail_sent', 'contact_form_autoresponders' );

function contact_form_autoresponders( $contact_form ) {
    // The contact form ID.
    if ( 47507 === $contact_form->id ) {
        $submission  = WPCF7_Submission::get_instance();
        $posted_data = $submission->get_posted_data();
        // Dropdowns are stored as arrays.
        if ( isset( $posted_data['location'] ) ) {
            switch ( $posted_data['location'][0] ) {
                case 'California':
                    $msg = 'California email body goes here';
                    break;
                case 'Texas':
                    $msg = 'Texas email body goes here';
                    break;
                default:
                    $msg = 'Unfortunately, that location is not available';
            }
            // mail it to them using wp_mail.
            wp_mail( $posted_data['your-email'], 'Thanks for your enquiry', $msg );
        }
    }
}

我怎样才能为自动回复添加延迟,并且仍然立即为填写表格的人确认填写的表格显示。

php wordpress contact-form-7
© www.soinside.com 2019 - 2024. All rights reserved.