Wooccommerce-按收到的页面URL顺序显示SKU



我从事市场营销,我需要知道客户是否购买了特定的产品,以便我可以重新营销他们。

所以,"显示这个广告,除了那些访问过订单接收页面的人"对我来说不起作用,因为我需要重新营销几个个性化的营销活动的产品。

我能够按照本教程在add-to-CART/CHECKOUT页面中添加SKU:https://www.themelocation.com/how-to-add-sku-to-product-url-in-woocommerce/

但是SKU不会传播到感谢页面(收到订单(,我只收到这些参数:收到订单/286/?key=wc_order_5b5f46b2c536

(286是订单号,而不是SKU(。

这是我需要的结果:收到订单/286/?key=wc_order_5b5f46b2c536?SKU=[产品-SKU]

有什么办法做到这一点吗?是否在订单接收页面中显示SKU?

谢谢!

Soooo。。。我能够找到如何做到这一点。这适用于单个产品。

将这段代码添加到functions.php文件中(记得将其放在您的子主题中,这样在进行wooccommerce升级时就不会被替换(。

这将在收到的订单URL中添加SKU。

//ADD SKU IN THANK YOU URL
add_filter('woocommerce_get_checkout_order_received_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; 
}

希望它能有所帮助!

最新更新