当用户单击 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 开发插件以及更多。
我正在处理 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 开发插件以及更多。