Nội dung

Hướng dẫn thêm nút huỷ đơn hàng trong woocommerce

Giống như các nền tảng thương mại điện tử ngày nay, việc cho phép khách hàng hủy đơn hàng sau khi thanh toán có thể giúp nâng cao trải nghiệm mua sắm. Mặc dù điều này có thể làm giảm doanh thu của bạn trong thời gian ngắn nhưng nó góp phần tăng tỷ lệ chuyển đổi vì khi đó khách hàng sẽ tin tưởng hơn.

How To Add Cancel Order Button In Woocommerce

Bạn chỉ cần sao chép và dán đoạn mã sau vào functions.php và lưu lại

//Allow customers to cancel orders after payment
add_filter( 'woocommerce_valid_order_statuses_for_cancel', 'custom_valid_order_statuses_for_cancel', 10, 2 );
function custom_valid_order_statuses_for_cancel( $statuses, $order ){

// Set the statuses that you allow customers to cancel
$custom_statuses = array( 'completed', 'pending', 'processing', 'on-hold', 'failed' );

// Set the number of days to be allowed to cancel since placing an order
$duration = 3; // 3 days

// Get Order ID and WC_Order
if( isset($_GET['order_id']))
$order = wc_get_order( absint( $_GET['order_id'] ) );

$delay = $duration*24*60*60; // (duration in seconds)
$date_created_time = strtotime($order->get_date_created()); // Creation date time stamp
$date_modified_time = strtotime($order->get_date_modified()); // Modified date time stamp
$now = strtotime("now"); // Now time stamp

// Using Creation date time stamp
if ( ( $date_created_time + $delay ) >= $now ) return $custom_statuses;
else return $statuses;
}

Good luck!