点击"add to cart"后如何即时创建和完成(账单)订单(Woocommerce)



我在我的网站上使用Woo商务插件,但在过程的最后,当用户订购产品时(在"添加到购物车"、"结账"one_answers"计费"之后,最后一个并不存在),他可以访问页面下载一个文件(这就是为什么计费阶段并不真正存在),即产品。该网站基于会员资格,我知道这不是通过会员资格提供下载产品的正确方式,但它是这样的。

我需要防止用户通过"添加到购物车"、"结账"one_answers"计费"(他需要通过3-4页才能真正到达链接),并在点击"添加到车"后下载文件,,因此,我需要一些如何创建订单(使用他选择的产品)并开具账单(所有这些都在后台),在他点击"添加到购物车"后,他已经被重定向到下载页面(在订单完成后)。。

我看到了这个关于重定向到结账页面的链接,但这还不够。。那么我怎么能创造这样的东西呢。。

我知道这是一个普遍的问题,但我想听听建议,如果你能把我重定向到一些代码,那将是惊人的。。。

求解它。。如果有人会处理同样的问题,请将其张贴在这里。。在functions.php 中实现

add_filter ('woocommerce_add_to_cart_redirect', 'redirect_to_checkout');

function redirect_to_checkout(){

                   global $woocommerce, $product, $post;
                        $args = array(
                            'status'        => 'processing',
                            'customer_id'   =>  get_current_user_id()
                        );
                        $order = wc_create_order( $args  );
                        $url = explode('?', 'http://'.$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
                        $ID = url_to_postid($url[0]);
                        $order->add_product(get_product($ID));  
                $address = null; // On my site I don't really need it.
                $order->set_address( $address, 'billing' );
                $order->set_address( $address, 'shipping' );
                $order->calculate_totals();
                $order->update_status( 'completed' );
              $checkout_url = $order->get_view_order_url( );
 return $checkout_url;
exit;
}

相关内容

最新更新