@mikekostunin

Не отменяется заказ в личном кабинете клиента woocommerce $order->get_cancel_order_url_raw()?

Всем привет! Надежда только на Вас:)
Нужно сделать кнопку отмены заказа ( когда он в статусе обработка)
Работаю с файлом orders.php
Есть функция get_cancel_order_url_raw(), которая дает правильный url для удаления отмены заказа, вставляю в кнопку, кнопка срабатывает и перебрасывает в козину, однако статус заказа не меняется. Перерыл весь гугл\яшу, однако ответа так и не нашел.
Куски кода в студию

<?php if ( $has_orders ) : ?>

			<?php
			foreach ( $customer_orders->orders as $customer_order ) {
				$order      = wc_get_order( $customer_order ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
				$item_count = $order->get_item_count() - $order->get_item_count_refunded();

				?>
............................................
Вывод всякой информации о заказе
............................................

<a class="woocommerce-button button" href="<?echo $order->get_cancel_order_url_raw();?>">
								Отменить заказ
							</a>

				<?php
			}
			?>

<?php endif; ?>


Код цикла foreach оригинальный от woo, ничего не менял. Почему может не срабатывать ссылка?

Скрин кода
605b6531625ae423734650.png

PS

Нашел на просторах интернета код для functions, который добавляет кнопку отмены заказа. Однако статус не меняется. Ссылка такая же, как и в функции get_cancel_order_url_raw. ( ../cart/?cancel_order=true&order=wc_order_6isfaWrGr7MVn&order_id=113&redirect=https%3A%2F%2F%2Faccount%2F&_wpnonce=1186e23529)

// Cancel button
add_filter( 'woocommerce_valid_order_statuses_for_cancel', 'custom_valid_order_statuses_for_cancel', 10, 1 );
function custom_valid_order_statuses_for_cancel( $statuses ){


    // Set HERE the order statuses where you want the cancel button to appear
    return array_merge( $statuses, array('processing'));
}
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы