Связанный код устарел и не обрабатывает строку запроса URL.Вам необходимо внести изменения и адаптировать код.
Примечание: В заказах может быть много элементов , поэтому, чтобы он работал для вашего случая мы используем только первый элемент .
Попробуйте это (вам нужно определить путь URL для переменной $path
):
add_action( 'woocommerce_thankyou', 'thankyou_custom_redirect', 5, 1 );
function thankyou_custom_redirect( $order_id ){
// Get the WC_Order object instance
$order = wc_get_order( $order_id );
// Order data
$order_key = $order->get_order_key(); // Get order key (if needed)
$transaction_id= $order->get_transaction_id(); // Get order key (if needed)
$billing_email = $order->get_billing_email(); // Get billing email
$order_num = $order->get_order_number(); // Get order number
$order_date = $order->get_date_created(); // Get order creation date
// Order item data (first item)
$order_items = $order->get_items(); // Get order items
$first_item = reset($order_items); // Keep the first Item
$item_qty = $first_item->get_quantity(); // Item quantity
$product = $first_item->get_product(); // Get the WC_Product object instance
$sku = $product->get_sku(); // Get the product code (SKU)
// Build your query string
$query_string = '?EO_ID=' . $order_date->date('ymd') . -rand(pow(10, 5), pow(10, 6)-1);
$query_string .= '&Product_Code=' . $sku;
$query_string .= '&Quantity=' . $item_qty;
$query_string .= '&Email=' . $billing_email;
$path = '/custom-path/'; // <=== HERE define the url path (without the domain)
$url = home_url( $path . $query_string );
// Not for failed orders
if ( ! $order->has_status( 'failed' ) ) {
wp_redirect( $url );
exit();
}
}
Код входит вФайл function.php вашей активной дочерней темы (или активной темы).Проверено и работает.