2016-04-30 115 views
0

使用下面引用的优秀资源和有用的评论我已经构建了一个Wordpress插件(按代码)将WooCommerce交易数据发送到自定义CRM。从感谢页面。WooCommerce:自定义电子商务跟踪 - 几乎有

但是我卡住了。我可以把交易价值,税款和运费的细节,但我似乎不能打电话,或发:
一)产品名称
二)产品类别
C)产品编号
d)之间的产品拆分的详细信息多个产品

任何想法,链接或建议非常感谢。这是新的,并试图通过战斗。

<?php 
/** 
* Plugin Name: eCommerce Tracking 
* Plugin URI: 
* Description: Send shopping data to CRM 
* Version: 1.0 
* Author: fly 
* Author URI: 
* License: GPL2 
*/ 

add_action('woocommerce_thankyou', 'my_custom_tracking'); 
function my_custom_tracking($order_id) { 



// Lets grab the order 
$order = new WC_Order($order_id); 

// Order ID 
$order_id = $order->get_order_number(); 

// Order total 
$order_total = $order->get_total(); 

// Order e-mail 
$order_email = $order->billing_email; 

// Order Billing First Name 
$order_fname = $order->billing_first_name; 

// Order Billing Last Name 
$order_lname = $order->billing_last_name; 

// Order Billing Address 1 
$order_bill1 = $order->billing_address_1; 

// Order Billing Address 2 
$order_bill2 = $order->billing_address_2; 

// Billing City 
$order_billcity = $order->billing_city; 

// Billing State 
$order_billstate = $order->billing_state; 

// Billing Postcode 
$order_billpostcode = $order->billing_postcode; 

// Billing Country 
$order_billcountry = $order->billing_country; 

// Billing Phone 
$order_billphone = $order->billing_phone; 

// Order Tax Cost 
$order_tax = $order->order_tax; 

// Order Shipping Cost 
$order_shippingcost = $order->order_shipping; 

// Order Currency 
$order_currency = $order->order_currency; 

// Product Category 
$order_category = $order->term_id; 

// Product Name 
$order_product = $order->item_id; 

// Product Quantity 
$order_quantity = $order->quantity; 

// Product SKU 
$order_sku = $order->sku; 

// Product Price 
$order_price = $order->price; 


?> 



<!-- Start Tracking code --> 
<script type="text/javascript"> 
var _ss = _ss || []; 
_ss.push(['_setDomain', 'xxxxxxxx']); 
_ss.push(['_setAccount', 'xxxxxxx']); 
_ss.push(['_trackPageView']); 
(function() { 
var ss = document.createElement('script'); 
ss.type = 'text/javascript'; ss.async = true; 

ss.src = ('https:' == document.location.protocol ? 'https://' :  
'http://') + 'koi-3Q40EJNC5K.marketingautomation.services/client/ss.js? 
ver=1.1.1'; 
var scr = document.getElementsByTagName('script')[0]; 
scr.parentNode.insertBefore(ss, scr); 
})(); 
</script> 



<script type='text/javascript'> 

_ss.push(['_setTransaction', { 
    'transactionID': '<?php echo $order_id; ?>', 
    'storeName': 'Reco Surfaces', 
    'total': '<?php echo $order_total; ?>', 
    'tax': '<?php echo $order_tax; ?>', 
    'shipping': '<?php echo $order_shippingcost; ?>', 
    'city': '<?php echo $order_billcity; ?>', 
    'state': '<?php echo $order_billstate; ?>', 
    'zipcode': '<?php echo $order_billpostcode; ?>', 
    'country': 'UK', 
    'firstName' : '<?php echo $order_fname; ?>', 
    'lastName' : '<?php echo $order_lname; ?>', 
    'emailAddress' : '<?php echo $order_email ?>' 
}, function() { 

    _ss.push(['_addTransactionItem', { 
     'transactionID': '<?php echo $order_id; ?>', 
     'itemCode': '<?php echo $order_sku; ?>', 
     'productName': '<?php echo $order_product; ?>', 
     'category': '<?php echo $order_category; ?>', 
     'price': '<?php echo $order_price; ?>', 
     'quantity': '<?php echo $order_quantity; ?>' 
    }]); 

    _ss.push(['_completeTransaction', { 
     'transactionID': '<?php echo $order_id; ?>' 
    }]); 

}]); 

</script> 


<!-- End Tracking code --> 
<?php 
} 

回答

1

更新:对于Woocommerce版本兼容性3+

我想你不能得到产品名称,产品类别,产品标识和产品的详细信息“不止之间的分裂一个产品“,因为您可以订购一个以上的产品,唯一的方法是运行一个foreach循环

foreach ($order->get_items() as $item_values) { 
    $product_id = $item_values['product_id']; // Get Product ID 
    $product_variation_id = $item['variation_id']; // Get variation ID 
    // Get product name 
    $product_name = method_exists($product, 'get_name') ? $item_values['data']->get_name() : $item_values['name']; 
    // Get product categories 
    if (version_compare(WC_VERSION, '3.0', '<')) { 
     $categories_array = explode(',', $item_values['data']->get_categories()); 
    } else { 
     $categories_array = explode(',', wc_get_product_category_list($item_values['product_id'])); 
    } 

    /* … and so on … */ 
} 

这只是一个例子。你必须通过互联网搜索或在这里搜索“woocommerce从订单获取产品”或“woocommerce从订单获取产品详细信息”以选择满足您需求的东西。


作为参考:How to get WooCommerce order details

相关问题