Alright redirection to upsell works now after purchase after editing this part
from
if (is_wc_endpoint_url('order-received'))
to
if (!is_wc_endpoint_url('order-received'))
but when in upsell-1 page after submitting button new item is added but I keep getting redirected back to upsell-1 page I should be redirected to order-received, I echoed out the url it is correct, but redirection is wrong.
add_action('woocommerce_thankyou', 'upsell_redirect');
function upsell_redirect($order_id) {
if (!is_wc_endpoint_url('order-received')) {
return;
}
WC()->session->set('original_order_id', $order_id);
$upsell_page_url = home_url('/upsell-1');
wp_redirect($upsell_page_url);
exit;
}
add_action('template_redirect', 'process_upsell');
function process_upsell() {
if (is_page('upsell-1') && isset($_GET['woocommerce_checkout_place_order'])) {
$original_order_id = WC()->session->get('original_order_id');
if ($original_order_id) {
$original_order = wc_get_order($original_order_id);
$original_order->add_product(wc_get_product('875'));
$original_order->calculate_totals();
$original_order->save();
$order_received_url = $original_order->get_checkout_order_received_url();
wp_redirect($order_received_url);
exit;
}
}
}