프로그래밍 방식으로 배송 방법 설정 우커머스
나는 방금 다음과 같은 아이디로 커스텀 우커머스 배송 방법을 만들었습니다.custom_shipping
. 이제 Woocommerce -> Settings -> Shipping admin 페이지에 옵션이 나타납니다.
사용자의 자격증을 바탕으로 배송 방법을 동적으로 설정하고 싶습니다.기본 메서드는flat_rate
지금 당장.
질문:배송 방법은 어떻게 설정해야 합니까?custom_shipping
요구사항을 충족하는 사용자, 세션 전체에 대해?
시도:
$chosen_methods = $woocommerce->session->set('chosen_shipping_methods', array('purolator_shipping');
이것은 세션 변수 'choosed_shipping_methods'를 올바르게 설정합니다.cart
페이지를 호출하지만 이동할 때checkout
, 세션은 사용으로 돌아갑니다.flat_rate
선적방법
카트 세션 생성 시 배송 방법을 변경하기 위해 연결할 수 있는 후크 또는 필터가 있어야 합니다(사용자가 카트에 처음 추가할 때).
저는 이상적으로 그들의 카트와 체크아웃 요약에서 배송 방법이 정확하게 보이도록 다른 것이 로딩되기 전에 새로운 배송 방법을 설정하고 싶습니다.
안내 감사했습니다.
사용.woocommerce_before_checkout_shipping_form
갈고리를
add_action( 'woocommerce_before_checkout_shipping_form', 'before_shipping');
function before_shipping( $checkout ) {
// check the user credentials here and if the condition is met set the shipping method
WC()->session->set('chosen_shipping_methods', array( 'purolator_shipping' ) );
}
참고로 카트 페이지에서 사용자가 배송 방법을 기본 방법에서 다른 방법으로 변경하면 위 코드는 다시 체크아웃 페이지의 기본 방법으로 되돌리기 때문에 사용자가 조금 혼란스러워 할 것입니다.
// WC()->session->set('chosen_shipping_methods', array( 'your_shipping_rate_id_here' ) );
예:
WC()->session->set('chosen_shipping_methods', array( 'flat_rate:1' ) );
언급URL : https://stackoverflow.com/questions/32514094/set-shipping-method-programmatically-woocommerce
'programing' 카테고리의 다른 글
아이폰 개발에서 PNG나 JPG를 언제 사용할 것인가요? (0) | 2023.10.05 |
---|---|
코드를 정리하는 가장 좋은 명령줄 도구는 무엇입니까? (0) | 2023.10.05 |
서비스에서 구성 요소 보기 업데이트 트리거 - ChangeDetectorRef에 대한 공급자 없음 (0) | 2023.10.05 |
MySQL에서 스키마 이름을 변경하는 방법 (0) | 2023.10.05 |
파워셸 ps1 파일은 "cmdlet, 함수, 작동 가능한 프로그램 또는 스크립트 파일로 인식되지 않습니다." (0) | 2023.10.05 |