2017-10-01 1 views
0

주문 정보를 가져 오는 맞춤 추적 코드를 구현하는 데 문제가 있습니다.Woocommerce의 맞춤 추적 코드입니다.

지금까지 필자의 functions.php 파일에있는 내용은 구매할 때 실제로 정보를 표시하지 않습니다.

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 
} 

이 코드를 사용하여 주문 데이터를 가져하려고 할 때 : 나는 다음과 같은 오류가

$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']; 

을 :

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

내 functions.php에서

행 28 :

$order_data = $order->get_data(); 

답변

0

이 코드를 사용해보십시오.

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; 
... 
... 
+0

작동합니다! 감사. –

관련 문제