Reputation: 13
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 : '',
timestamp : '<?php echo $order_timestamp_created ?>',
orderId : '<?php echo $order_id ?>',
orderValue : '<?php echo $order_total ?>',
orderCurrency : '<?php echo $order_currency ?>',
});
<?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/REMOVED/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/REMOVED/functions.php on line 28
Line 28 in my functions.php:
$order_data = $order->get_data();
Upvotes: 1
Views: 1789
Reputation: 318
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;
...
...
Upvotes: 0