Como alterar ou adicionar conteúdo de chave de URL de página de agradecimento do Woocommerce?

4

Pesquisei o suficiente e não encontrei uma resposta para essa pergunta, mas isso pode ser simples.

Em análises, quero configurar metas para compra e temos apenas cinco produtos, portanto, cada compra de produto deve ser uma meta à parte.

A maneira fácil de definir a meta de compra no Google Analytics é fornecer o URL de agradecimento . Agora, o URL de agradecimento do Woocommerce inclui detalhes importantes no URL de agradecimento, como abaixo.

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

É assim que as páginas de agradecimento do Paypal payment são mostradas.

Mas quando um usuário faz uma compra diretamente no site com gateways como 2checkout, moneris, stripe, recebo o tipo de URL abaixo.

exampledomain.com/?key=wc_order_5849993d6ec72

Como você pode ver acima, este URL não contém muitos parâmetros para eu usar.

A pergunta é: como eu edito esses URLs para incluir o SKU do produto?

Dessa forma, será fácil filtrar com base no SKU

    
por Dave 14.12.2016 / 20:32

1 resposta

3

você pode editar o URL de retorno que o woocommerce fornece aos gateways usando o filtro

woocommerce_get_return_url

alguns plug-ins de gateway usam um método diferente para obter o URL de retorno invocando $ order- > get_checkout_order_received_url (); que aplica o filtro

woocommerce_get_checkout_order_received_url

um exemplo seria como:

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;

  }

o URL do resultado será como

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