我正在使用Woocommerce的Affiliate网站配置。虽然我已经完成了大部分配置和设置。我想在Woocommerce订单队列中添加外部产品作为订单(具有待处理状态),这将允许我跟踪。
所以基本上,我想的方法是在购买产品按钮链接中嵌入一个查询,该链接重定向到外部联盟网站,同时它同时在项目中作为我的Woocommerce列表中的订单执行此操作。我相信调用本身中的一个简单的查询/函数调用应该可以工作,但这是我用Techno-Functional术语说的。 Wordpress略显新鲜。
非常感谢帮助指导同样的事情。然后,这将允许我向用户发送未完成或未决订单的电子邮件。
答案 0 :(得分:1)
好的,因为我没有收到任何回复,而且在Stackoverflow之前将此视为无效问题。
我开发了自己的插件,它基本上会检查单击外部产品按钮的时间,然后根据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开发插件以及更多。