This snippet is for adding tracking for a separate piece of analytic software you may have installed. The order object contains all the order data you should need, including line items.
You need to add this code to your child theme’s functions.php
file or via a plugin that allows custom functions to be added, such as the Code snippets plugin. Please don’t add custom code directly to your parent theme’s functions.php
file as this will be wiped entirely when you update the theme.
/** | |
* Add custom tracking code to the thank-you page | |
*/ | |
add_action( ‘woocommerce_thankyou’, ‘my_custom_tracking’ ); | |
function my_custom_tracking( $order_id ) { | |
// Lets grab the order | |
$order = wc_get_order( $order_id ); | |
/** | |
* Put your tracking code here | |
* You can get the order total etc e.g. $order->get_total(); | |
*/ | |
// This is the order total | |
$order->get_total(); | |
// This is how to grab line items from the order | |
$line_items = $order->get_items(); | |
// This loops over line items | |
foreach ( $line_items as $item ) { | |
// This will be a product | |
$product = $order->get_product_from_item( $item ); | |
// This is the products SKU | |
$sku = $product->get_sku(); | |
// This is the qty purchased | |
$qty = $item[‘qty’]; | |
// Line item total cost including taxes and rounded | |
$total = $order->get_line_total( $item, true, true ); | |
// Line item subtotal (before discounts) | |
$subtotal = $order->get_line_subtotal( $item, true, true ); | |
} | |
} |