, 나는 "페이팔"순서가 처음으로 만든 그냥 "배달 현금"를 표시하기 전에 페이지 "체크 아웃"에 게이트웨이를 숨기고 싶습니다 게이트웨이 (예약). 체크 아웃/주문 지불 페이지 한편 조건부 숨어 외 보여주는 지불 게이트웨이 Woocommerce에서
, 주문 상태는 이 "보류"를 '준비' 게이트웨이를 숨기고 "페이팔"을 보여줄 때. (이는 주문 상태를 "계류 중"으로 수동 변경하고 결제 링크가있는 고객에게 인보이스를 보낼 때 발생합니다.)주문 상태를 확인하고 woocommerce_available_payment_gateways
필터 걸이를 사용해야한다고 생각했습니다. 하지만 현재 주문 상태를 확인하는 데 문제가 있습니다.
또한 사용자가 체크 아웃 페이지에 새로 생성 한 주문의 상태가 무엇 인지도 모르겠지만 여전히 주문은 관리자 백엔드에 표시되지 않습니다.
이 내 불완전 코드입니다
function myFunction($available_gateways) {
// How to check if the order's status is not pending payment?
// How to pass the id of the current order to wc_get_order()?
$order = wc_get_order($order_id);
if (isset($available_gateways['cod']) && /* pending order status?? */) {
// hide "cod" gateway
} else {
// hide "paypal" gateway
}
return $available_gateways;
}
add_filter('woocommerce_available_payment_gateways', 'myFunction');
가 나는 또한 get the current order에 WC()->query_vars['order']
대신 wc_get_order();
을 시도하고 상태를 확인하지만, 너무 작동하지 않았다.
sawwoocommerce_order_items_table
조치 후크 중 하나라도 주문을받을 수 없습니다.
체크 아웃/주문 - 지불 페이지에서 주문의 ID와 상태를 어떻게 검색 할 수 있습니까?
많은 감사 Loic, 그것은 매력처럼 작동했습니다. – DummyBeginner