anlimas
@anlimas
Web developer

Woocommerce правильный редирект на кастомный thank you page?

После создания кастомной страницы благодарности на которую покупатель попадает в зависимости от выбранной оплаты столкнулся с проблемой добавления dataLayer на кастомной странице.
Причем на стандартной странице все работает отлично, а на кастомной не видит заказ.
Вот код редиректа:
add_action( 'woocommerce_get_return_url', 'redirect_to_thank_you', 90, 2 ); 
function redirect_to_thank_you( $thank_you_url, $order ) { 
	// неплохо бы проверить статус заказа, не редиректим зафейленные заказы
	   $payment_method = $order->get_payment_method();
	if( $order->has_status( 'failed' ) || $payment_method == 'cod' ) {
		return $thank_you_url;
	}
 	return site_url( 'new-thank-you' );
 }


Вот код получения заказа(order) на стандартном thank you page который работает:
<?php if ( is_checkout() && !empty( is_wc_endpoint_url('order-received') ) )  :
$order_id = empty($_GET[ 'order' ]) ? ($GLOBALS[ 'wp' ]->query_vars[ 'order-received' ] ? $GLOBALS[ 'wp' ]->query_vars[ 'order-received' ] : 0) : absint($_GET[ 'order' ]);
$order = wc_get_order($order_id)
 ?>

Возможно я что то делаю не так или можно как то по другому получить заказ для дальнейшего его использование в dataLayer ?
Заранее благодарен за ответ.
  • Вопрос задан
  • 32 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы