Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iamsathyaseelan/6ac8ddb2997ba5f21b3d75ee9f84e46e to your computer and use it in GitHub Desktop.
Save iamsathyaseelan/6ac8ddb2997ba5f21b3d75ee9f84e46e to your computer and use it in GitHub Desktop.
don't track more than one cart per session
<?php
add_action('woocommerce_new_order','rnoc_woocommerce_new_order',10,1);
function rnoc_woocommerce_new_order($order_id){
$no_of_orders_in_session = rnoc_orders_per_session_count();
WC()->session->set('rnoc_orders_per_session_count',$no_of_orders_in_session + 1);
}
add_filter('rnoc_can_track_abandoned_carts','rnoc_can_track_abandoned_carts',20);
function rnoc_can_track_abandoned_carts($can_track){
$no_of_orders_in_session = rnoc_orders_per_session_count();
if($no_of_orders_in_session > 0){
$can_track = false;
}
return $can_track;
}
add_action('rnoc_before_recreate_cart','rnoc_before_recreate_cart');
function rnoc_before_recreate_cart($cart_data){
WC()->session->set('rnoc_orders_per_session_count',0);
}
function rnoc_orders_per_session_count(){
return intval(WC()->session->get('rnoc_orders_per_session_count',0));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment