Всем привет! Надежда только на Вас:)
Нужно сделать кнопку отмены заказа ( когда он в статусе обработка)
Работаю с файлом 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, ничего не менял. Почему может не срабатывать ссылка?
Скрин кода
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'));
}