Ardit Veliu Ardit Veliu - 3 years ago 146
PHP Question

Custom tracking code on Woocommerce thank you page

So I'm having a problem implementing a custom tracking code that pulls in order information.

Here's what I've got in my functions.php file so far, it isn't actually showing any information though when I make a purchase.

add_action( 'woocommerce_thankyou', 'conversion_tracking' );
function conversion_tracking() {

$order = wc_get_order( $order_id );

$order_id = $order->get_id;
$order_parent_id = $order->get_parent_id;
$order_status = $order->get_status;
$order_currency = $order->get_currency;
$order_version = $order->get_version;
$order_payment_method = $order->get_payment_method;
$order_payment_method_title = $order->get_payment_method_title;
$order_payment_method = $order->get_payment_method;
$order_payment_method = $order->get_payment_method;


?>
<script type = 'text/javascript'>
window.sovIframes = window.sovIframes || [];
window.sovIframes.push({
trafficSourceNumber : '',
trafficMediumNumber : '',
sessionId : '<?php echo $order_id ?>',
timestamp : '<?php echo $order_id ?>',
orderId : '<?php echo $order_id ?>',
orderValue : '<?php echo $order_total ?>',
orderCurrency : '<?php echo $order_currency ?>',
usedCouponCode : '',
});
<?php
}


When I try to pull the order data using this code:

$order = wc_get_order( $order_id );
$order_data = $order->get_data();

$order_id = $order_data['id'];
$order_parent_id = $order_data['parent_id'];
$order_status = $order_data['status'];
$order_currency = $order_data['currency'];
$order_version = $order_data['version'];
$order_payment_method = $order_data['payment_method'];
$order_payment_method_title = $order_data['payment_method_title'];
$order_payment_method = $order_data['payment_method'];
$order_payment_method = $order_data['payment_method'];


I get the following error:


Fatal error: Uncaught Error: Call to a member function get_data() on
boolean in
/home/feratino/www/REMOVED/wp-content/themes/vg-pomer-child/functions.php:28
Stack trace: 0
/home/feratino/www/REMOVED/wp-includes/class-wp-hook.php(298):
sovendus_conversion_tracking(109947)

1 /home/REMOVED/wp-includes/class-wp-hook.php(323):
WP_Hook->apply_filters(NULL, Array)

2 /home/feratino/www/REMOVED/wp-includes/plugin.php(453):
WP_Hook->do_action(Array)

3
/home/feratino/www/REMOVED/wp-content/plugins/woocommerce/templates/checkout/thankyou.php(74):
do_action('woocommerce_tha...', 109947)

4
/home/feratino/www/REMOVED/wp-content/plugins/woocommerce/includes/wc-core-functions.php(204):
include('/home/feratino/...')

5
/home/feratino/www/REMOVED/wp-content/plugins/woocommerce/includes/shortcodes/class-wc-shortcode-checkout.php(205):
wc_get_template('checkout/thanky...', Array)

6
/home/feratino/www/REMOVED/wp-content/plugins/woocommerce/includes/shortcodes/class-wc-s
in
/home/feratino/www/REMOVED/wp-content/themes/vg-pomer-child/functions.php
on line 28


Line 28 in my functions.php:

$order_data = $order->get_data();

Answer Source

Please try this code

add_action( 'woocommerce_thankyou', 'conversion_tracking' );
function conversion_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;
...
...
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download