首页 文章

Wordpress:保存表单数据和POST外部

提问于
浏览
1

我正在Wordpress中创建一个预订表单,它将数据发送到外部CRM(在这种情况下为飞艇),同时还将数据存储在Wordpress CMS中,然后可以自动通过电子邮件发送 .

目前我已尝试过Contact Form 7和其他一些插件,但这需要它自己的 action="/?page_id=1327&preview=true#wpcf7-f1326-p1327-o1" (就像 Build 时的页面预览一样) .

飞艇CRM也有自己提交数据所需的 action="http://atwbar.com/linkitajax.php" .

任何建议/意见将 HUGELY 赞赏!

1 回答

  • 1

    当我想以一个形式保存一些特殊的数据,加工到CRM,或只是重定向我的所有形式,我用的是联系表格7钩: wpcf7_before_send_mail 这里是重定向任何形式的一个页面一个例子(摘自的实用插件我've done, so, don'注意unset和session line,options ...) .

    add_action('wpcf7_before_send_mail', 'mail_send_redirection');
    
    function mail_send_redirection($contactform){
        $submission = WPCF7_Submission::get_instance();
    
        if($options['_redirect_all_forms'] == 'false' && $contact_form->prop( 'redirection_settings' ) == 'false'){
             return;
         }
    
          $redirection_form_id = $contact_form->prop( 'redirection_settings' );
    
           $redirection_page_id = (empty($redirection_form_id)) ? $options['_thank_you_url'] : $redirection_form_id;
           $nonce = wp_create_nonce('redirect-user-action');
    
            if($contact_form->prop( 'redirection_message' ) != ''){
                  $args = array(
                      'html' => false,
                      'exclude_blank' => false );
    
                  $message = wpcf7_mail_replace_tags( $contact_form->prop( 'redirection_message' ), $args );
    
                     unset($_SESSION['bcf7u_nonce']);
                     unset($_SESSION['bcf7u_message']);
                     unset($_SESSION['bcf7u_pageid']);
    
                     $_SESSION['_nonce'] = $nonce;
                     $_SESSION['_pageid'] = $redirection_page_id;
                     $_SESSION['_message'] = $message;
    
    
             }
    
             $contact_form->skip_mail = false;
    
             $contact_form->set_properties(
               array(
                'additional_settings' => "on_sent_ok: \"location.replace('" . get_permalink($redirection_page_id) . "/?nonce=" . $nonce . "');\""));
    
    }
    

    要保存表单域,只需使用update_post_meta .

    还有其他方法可以在wp_ajax_no_priv _ {$ action} action和js上发送请求 .

    告诉我它是否对您有所帮助,或者您是否需要更多提示!

相关问题