После создания кастомной страницы благодарности на которую покупатель попадает в зависимости от выбранной оплаты столкнулся с проблемой добавления 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 ?
Заранее благодарен за ответ.