it-swarm.com.de

Wie ändere oder füge ich Woocommerce hinzu?

Ich habe genug gesucht und keine Antwort auf diese Frage gefunden, aber dies kann eine einfache sein.

In der Analytik möchte ich Ziele für den Kauf festlegen und wir haben nur 5 Produkte, daher sollte jeder Produktkauf ein separates Ziel sein.

Die einfache Möglichkeit, das Kaufziel in Analytics festzulegen, besteht darin, danke URL anzugeben . Nun enthält die Dankes-URL von Woocommerce wichtige Details in der Dankes-URL wie unten.

exampledomain.com/?key=wc_order_584a9caad78bc&amt=239.00&cc=USD&charset=windows-1252&cm={"order_id":13586,"order_key":"wc_order_584a9caad78bc"}&st=Completed&tx=2AF5736382483492L

So werden Paypal-Bezahlungs-Dankesseiten angezeigt.

Aber wenn ein Benutzer mit Gateways wie 2checkout, moneris, stripe direkt auf der Website kauft, erhalte ich den folgenden URL-Typ.

exampledomain.com/?key=wc_order_5849993d6ec72

Wie Sie oben sehen können, enthält diese URL nicht viele Parameter, die ich verwenden kann.

Die Frage ist, wie bearbeite ich diese URLs, um Produkt-SKU einzuschließen?

Auf diese Weise kann ich leicht nach Artikelnummer filtern

4
Dave

sie können die von woocommerce für Gateways bereitgestellte Rückgabe-URL mithilfe des Filters bearbeiten

woocommerce_get_return_url

einige Gateway-Plugins verwenden eine andere Methode, um die Rückgabe-URL durch Aufrufen von $ order-> get_checkout_order_received_url () abzurufen. das wendet den Filter an

woocommerce_get_checkout_order_received_url

ein Beispiel wäre:

add_filter('woocommerce_get_return_url','override_return_url',10,2);

function override_return_url($return_url,$order){

    //create empty array to store url parameters in 
    $sku_list = array();

    // retrive products in order
    foreach($order->get_items() as $key => $item)
    {
      $product = wc_get_product($item['product_id']);
      //get sku of each product and insert it in array 
      $sku_list['product_'.$item['product_id'] . 'sku'] = $product->get_sku();
    }
    //build query strings out of the SKU array
    $url_extension = http_build_query($sku_list);
    //append our strings to original url
    $modified_url = $return_url.'&'.$url_extension;

    return $modified_url;

  }

ergebnis URL wird wie folgt sein

http://example.com/index.php/checkout/order-received/161/?key=wc_order_585214b2abb65&product_8=SKU1&product_45=SKU2
3
Mohamed Ali