Javascript 如何将Woocommerce与Piwik整合

Javascript 如何将Woocommerce与Piwik整合,javascript,php,wordpress,woocommerce,matomo,Javascript,Php,Wordpress,Woocommerce,Matomo,目前,我已经使用piwik在我的wordpress网站上设置了跟踪。然而,最重要的是,我需要能够跟踪电子商务转换和废弃的购物车。我已经设法手动跟踪转换,但我不知道如何用“woocommerce ordered products”值替换硬编码值 以下是我迄今为止所做的工作: 已安装WP Piwik 已安装WooCommerce-Piwik集成 我创建了名为“piwik.js”的自定义javascript,并对这些值进行了硬编码以跟踪电子商务购买 function addEcommerceItem(

目前,我已经使用piwik在我的wordpress网站上设置了跟踪。然而,最重要的是,我需要能够跟踪电子商务转换和废弃的购物车。我已经设法手动跟踪转换,但我不知道如何用“woocommerce ordered products”值替换硬编码值

以下是我迄今为止所做的工作:

  • 已安装WP Piwik
  • 已安装WooCommerce-Piwik集成
  • 我创建了名为“piwik.js”的自定义javascript,并对这些值进行了硬编码以跟踪电子商务购买

    function addEcommerceItem() {
    // add the first product to the order
        _paq.push(['addEcommerceItem',
        "sku01", // (required) SKU: Product unique identifier
        "sku01Name", // (optional) Product name
        "productCategory", // (optional) Product category. You can also specify an array of up to 5 categories eg. ["Books", "New releases", "Biography"]
        60, // (recommended) Product price
        1 // (optional, default to 1) Product quantity
        ]);
        alert("e-Commerce item added!");
     };
    
     function trackEcommerceOrder() {       
        _paq.push(['trackEcommerceOrder',
        "A10000127", // (required) Unique Order ID
        35, // (required) Order Revenue grand total (includes tax, shipping, and subtracted discount)
        30, // (optional) Order sub total (excludes shipping)
        5.5, // (optional) Tax amount
        4.5, // (optional) Shipping amount
        false // (optional) Discount offered (set to false for unspecified parameter)
        ]);
      alert("item tracked!");
      };
    
  • 在“我的Woocommerce”的“结帐”页面上:

       [woocommerce_checkout]
       <script type="text/javascript" src="http://myServerIP/mySite/piwik.js"></script>
       <script type="text/javascript">
          addEcommerceItem(); 
          trackEcommerceOrder(); 
       </script>
    
    [woocommerce\u checkout]
    addEcommerceItem();
    轨道电子商务订单();
    
  • 同样,我的问题是如何替换
    addEcommerceItem()
    trackEcommerceOrder()
    中的硬编码值,以动态反映通过我的woocommerce网站购买的任何产品


  • 提前感谢您

    修改了“piwik-woocommerce集成”插件->“class wc-piwik-tracker.php”

  • 将piwikTracker.addEcommerceItem()及其实现替换为:

    //add order
    _paq.push(['addEcommerceItem',
       "<?php echo esc_js( $_product->get_sku() ); ?>",
       "<?php echo esc_js( $item['name'] ); ?>",
       "<?php
          if ( isset( $_product->variation_data ) )
             echo esc_js( woocommerce_get_formatted_variation( $_product->variation_data, true ) );
                ?>",
        <?php echo esc_js( $order->get_item_total( $item ) ); ?>,
        <?php echo esc_js( $item['qty'] ); ?>]);
    
    // Track order
    _paq.push(['trackEcommerceOrder',
       "<?php echo esc_js( $order->get_order_number() ); ?>",
        <?php echo esc_js( $order->get_total() ); ?>,
        false,
        <?php echo esc_js( $order->get_total_tax() ); ?>,
        <?php echo esc_js( $order->get_shipping() ); ?>,
        false
        ]);
        _paq.push(['trackPageView']);