코스모스팜 스레드

우커머스 My account의 주문란에 취소 버튼을 추가할 수 있을까요

안녕하세요. 항상 감사드립니다.

다름이 아니라 고객이 사이트에서 주문을 한 뒤, 우커머스 My Account의 주문목록 페이지에서 주문을 취소하는 버튼을 만들 수 있을까요?

지금은 이렇게 보기 버튼만 나온답니다^^;;

https://photos.app.goo.gl/LzZGvcvN8gKRVATk7

구글에 검색을 해보니 밑에 코드를 functions.php에 붙여넣으면 된다고 하는데, 저는 안되네요ㅠㅠ!

혹시 방법이 있나 여쭤보고 싶습니다:)

add_filter( 'woocommerce_valid_order_statuses_for_cancel', 'filter_valid_order_statuses_for_cancel', 20, 2 );
function filter_valid_order_statuses_for_cancel( $statuses, $order = '' ){

    // Set HERE the order statuses where you want the cancel button to appear
    $custom_statuses    = array( 'pending', 'processing', 'on-hold', 'failed' );

    // Set HERE the delay (in days)
    $duration = 3; // 3 days

    // UPDATE: Get the order ID and the WC_Order object
    if( ! is_object( $order ) && 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;
}

이 페이지의 내용이 유익하시나요? 혹은 더 많은 답변을 받길 원하시면 이 페이지를 공유 해보시는건 어떨까요?

내 홈페이지에 소셜 공유 버튼 추가하기

코스모스팜 회원관리
코스모스팜 회원관리
  • 안녕하세요~^^

    woocommerce_valid_order_statuses_for_cancel 필터를 사용해본 적은 없습니다.

    대략 보니 결제 취소가 가능한 상태인지 그 조건을 편집할 수 있는 필터 같습니다.

    특정 주문이 취소 가능한 상태가 되려면 결제가 완료되어야겠지요.

    다시 말하자면, 결제가 완료되지 않은 주문은 취소도 할 수 없는 상태겠죠.

     

    이러한 기준일 때 첨부하신 스크린샷 이미지를 확인해보니 상태가 "가상계좌 입금대기 중" 이렇게 되어 있습니다.

    결제 완료되지 않았기 때문에 취소가 불가능한 상태인 듯합니다.

    다시 한번 살펴봐보시겠어요?

    고맙습니다.

  • 아! 그렇군요 :) 결제 완료 후 다시 확인하여 보겠습니다^^ 감사합니다!

코스모스팜 회원관리