부분 환불은 어떻게 WooCommerce Database에 저장됩니까?
저는 PHP로 작성된 간단한 백엔드 관리 툴을 가지고 있습니다.이 툴은 WooCommerce 데이터베이스에서 주문을 가져와 배송 처리를 위해 저희 주방에 제출합니다.
항상 테이블 행을 강조 표시할 수 있었습니다.'wc-completed'
필요한 추가 처리를 처리합니다.그런데 오늘 한 줄에 대해 한 가지 주문이 환불된 것을 알게 되었습니다.부분 환불은 주문 상태에 영향을 주지 않기 때문에 데이터베이스의 다른 테이블에서 환불 정보를 가져와야 합니다.
주문처리에 대해 알고 있는 표를 모두 확인했습니다.wp_posts
,wp_postmeta
,wp_woocommerce_order_items
그리고.wp_woocommerce_order_itemmeta
환불 정보는 없습니다.실제로 마지막 표에 기재되어 있는 아이템메타는 수량 조정도 되지 않아 제 리포트는 이와 같은 부분 오더에 맞지 않습니다.
woocommerce 백엔드에서 주문 요약을 표시하면1
이 특정 항목에 대해, 그리고 나서-1
바로 아래에요.데이터베이스 어딘가에 주문과 관련된 환불 기록이 있을 것으로 생각합니다만, 찾을 수 없습니다.주문 합계까지wp_postmeta
부분 환불이 반영되지 않았습니다.
워드프레스 데이터베이스에 이 환불 데이터가 저장되어 있는 곳을 아는 사람이 있습니까?
감사해요.
부분 환불 주문은 일반 주문과 마찬가지로 데이터베이스에 저장됩니다.인wp_posts
와 함께 식탁에 올리다'post_type' = 'shop_order_refund'
및 a'post_parent' = order_ID (number)
, 여기서order_ID
원본에 대한 참조입니다.'shop_order'
.
이 환불 중 어느 것이 부분적인지 알아보려면_refund_amount
아래에서 찾을 수 있는 값wp_post_meta
이 때문에'refund_order'
그리고 그에 상응하는 것'shop_order'
와 함께_order_total
값도 마찬가지입니다.
(의 경우)'refund_order'
=>_refund_amount
) != ('shop_order'
=>_order_total
그럼 부분적인 거네요
(의 경우)'refund_order'
=>_refund_amount
) == ('shop_order'
=>_order_total
그럼 (부분이 아닌) 정상입니다.
주의:
- 한 번의 주문에 대해 1개 또는 여러 개의 부분 환불이 가능합니다.
- 환불 주문이 있습니다.
_order_total
의 항목wp_postmeta
항상 양의 값을 반영하는 음의 값을 가진 표_refund_amount
아이템. 이거_order_total
값은 관련 부모와는 무관합니다.'shop_order' => '_order_total'
가치.관련 부모의 반대(음수) 값입니다.
'shop_order' => '_order_total'
환불 주문이 부분적이지 않은 경우에만 값을 매겨야 합니다. - 인
wp_woocommerce_order_items
★★★★★★★★★★★★★★★★★」wp_woocommerce_order_itemmeta
테이블, 주문 및 환불된 주문에 대한 관련 상세 데이터가 있습니다.
언급URL : https://stackoverflow.com/questions/37712789/how-are-partial-refunds-stored-in-the-woocommerce-database
'programing' 카테고리의 다른 글
Oracle SQL 쿼리에서 문자열 포함 함수 사용 (0) | 2023.03.13 |
---|---|
Redux에 여러 미들웨어를 추가하는 방법 (0) | 2023.03.08 |
json_decode를 사용하여 PHP에서 JSON 개체를 구문 분석하는 중 (0) | 2023.03.08 |
React의 인라인 CSS 스타일: 호버를 구현하는 방법 (0) | 2023.03.08 |
라이브 MongoDB 데이터를 참조하거나 조회하려면 어떻게 해야 합니까? (0) | 2023.03.08 |