首页 > 解决方案 > 我如何以编程方式在 wordpress 中以重力形式添加到购物车在 wordpress 中提交

问题描述

所以我一直在修改一个插件,它有一个硬编码的表单,在提交时使用表单字段发布产品订单。

    enter code here
    let fb_buy_ads_group_id = 0;
    jQuery(document).ready(function ($) {
    
        $( '#submit_ad' ).on( 'click', () => {
            $( '#submit_ad' ).html( '<div class="fb-ad-loader"></div>' );
            fb_buy_ads_submit_ad()
        } );
    
        $( '#add_ad' ).on( 'click', () => {
            $( '#add_ad' ).html( '<div class="fb-ad-loader"></div>' );
            fb_buy_ads_submit_ad( false )
        } );
    
    });
    
    function fb_buy_ads_set_group_id( id ) {
        fb_buy_ads_group_id = id;
    } 
    
    function fb_buy_ads_submit_ad( redirect = true) {
        data = new FormData();
        data.append( 'ad_media', jQuery('#ad_media')[0].files[0] );
        data.append( 'ad_content', jQuery('#ad_content').val() );
        data.append( 'ad_schedule', jQuery('#ad_schedule').val() );
        data.append( 'ad_times', jQuery('#ad_times').val() );
        data.append( 'action', 'ad_save_order_session' );
        data.append( 'group_id', fb_buy_ads_group_id );
        jQuery.ajax({
            type: 'POST',
            url: fb_buy_ads.ajax_url,
            // contentType: 'application/json; charset=utf-8',
            data: data,
            enctype: 'multipart/form-data',
            processData: false,  // tell jQuery not to process the data
            contentType: false,  // tell jQuery not to set contentType
            // dataType: 'json',
            success: (data) => {
                if ( redirect ) {
                    window.location.replace( '/checkout' )
                } else {
                    jQuery( '#add_ad' ).html( 'Add Another Ad' );
                    jQuery( '#ad_added_text' ).css( 'display', 'none' );
                    const modal = new bootstrap.Modal ( jQuery( '#buy_ad_modal' ), {} );
                    modal.hide();
                }
            },
            error: (err) => {console.log(err)}
        });
    }

    enter code here

这是原始代码。效果很好。我的任务是用重力形式替换形式。直到现在,我使用它创建了一个表单,并用一个 php 函数替换了 html 表单并在那里调用了该表单。

现在我已经用重力表单和提交按钮替换了 id。

表单在那里并且它正在工作,但在提交时不会将数据发送到购物车,因此结帐重定向会转到购物车,因为它是空的......

我们该怎么做?

标签: jquerywordpresspluginsthemes

解决方案


推荐阅读