当用户单击 External/Affiliate 产品按钮时将产品添加到订单队列

Add Product to Order Queue when User Click on External/Affiliate Product Button

我正在处理 Woocommerce 的附属网站配置。虽然我已经配置和设置了大部分内容。我想将外部产品作为订单添加到 Woocommerce 订单队列(具有待处理状态)中,这将允许我进行跟踪。

所以基本上,我想的方法是在“购买产品”按钮 Link 中嵌入一个查询,该按钮重定向到外部联属网络营销网站,同时它应该在项目中作为我的 Woocommerce 列表中的订单。我相信调用本身中的一个简单的 query/function 调用应该可以工作,但这是我用技术功能术语来说的。对 Wordpress 有点陌生。

非常感谢您帮助指导实现同样的目标。然后,这将允许我向用户发送未完成或待处理订单的电子邮件。

好的,因为我没有收到任何回复,而且在 Whosebug 将其称为无效问题之前。

我开发了自己的插件,主要检查何时单击外部产品按钮,然后根据 Product_ID 和当前用户 ID 执行订单输入,订单状态为待处理。

我的JQuery脚本如下

jQuery(document).ready(function($) {
$(document).off( 'click', '#affiliate' );
$(document).on( 'click', '#affiliate', function() {
//Code Here
var prodid = $("#prodid").text();
alert( prodid );
var odata = {
    'action': 'pending_order',
    security: wp_ajax_eaco.ajaxnonce,
    prod_id: prodid
};

$.post( 
    wp_ajax_eaco.ajaxurl, 
    odata, function(response) {
    alert('Got this from the server: ' + response);
            });
 });
});

而我对应的函数调用如下

//Order Call
add_action( 'wp_ajax_pending_order', array( &$this, 'create_order'));
function create_order()
        {
            global $woocommerce, $wp;
            // Security check
            check_ajax_referer( 'ajax_post_validation', 'security' );
            //Getting Product ID
            $id = $_POST['prod_id'];


            // create order
            $address = array(
                    'first_name' => 'Iskandariya',
                    'last_name'  => 'Solutions',
                    'company'    => 'Iskandariya.Solutions',
                    'phone'      => '+91-9999999999',
                    'address_1'  => 'Chandigarh',
                    'address_2'  => 'Mohali,Punjab', 
                    'city'       => 'Chandigarh',
                    'state'      => 'PB',
                    'postcode'   => '160001',
                    'country'    => 'IN'
                );

            $order_data = array(
                    'customer_id'       => get_current_user_id()
                    );

            $order = wc_create_order($order_data);
            $order->add_product( get_product( $id ), 1 ); //(get_product with id and next is for quantity)
            $order->set_address( $address, 'billing' );
            $order->set_address( $address, 'shipping' );
            $order->calculate_totals();
            wp_die();
        }

在某种程度上感谢您没有回复我花了更长的时间,但我学会了为 Wordpress 开发插件以及更多。