반응형
URL을 통해 쿠폰 코드를 입수하여 WooCommerce Checkout 페이지에서 적용
저는 WooCommerce 웹사이트를 가지고 있으며, 고객이 카트에 제품을 추가하면 체크아웃 페이지로 리다이렉트되므로 카트 페이지에 접속할 수 없습니다.
쿠폰을 URL로 신청하고 싶습니다.GET체크 아웃 페이지)에, 다음과 같은 기능이 있습니다.https://example.com/?coupon_code=highfive.
고객이 이 URL을 클릭하면 쿠폰 코드가 브라우저 세션에 저장됩니다.카트에 상품을 추가하면 쿠폰이 체크아웃 페이지에 적용됩니다.
이게 가능합니까?
업데이트 3: 이 작업은 다음 2개의 후크 기능을 사용하여 매우 간단한 방법으로 수행할 수 있습니다.
- 첫 번째는 URL에서 쿠폰 코드를 잡아 WC_Sessions에서 설정합니다.
- 두 번째는 체크아웃 페이지에서 세션의 쿠폰 코드를 적용합니다.
다음은 코드입니다.
add_action('init', 'get_custom_coupon_code_to_session');
function get_custom_coupon_code_to_session(){
if( isset($_GET['coupon_code']) ){
// Ensure that customer session is started
if( isset(WC()->session) && ! WC()->session->has_session() )
WC()->session->set_customer_session_cookie(true);
// Check and register coupon code in a custom session variable
$coupon_code = WC()->session->get('coupon_code');
if(empty($coupon_code)){
$coupon_code = esc_attr( $_GET['coupon_code'] );
WC()->session->set( 'coupon_code', $coupon_code ); // Set the coupon code in session
}
}
}
add_action( 'woocommerce_before_checkout_form', 'add_discout_to_checkout', 10, 0 );
function add_discout_to_checkout( ) {
// Set coupon code
$coupon_code = WC()->session->get('coupon_code');
if ( ! empty( $coupon_code ) && ! WC()->cart->has_discount( $coupon_code ) ){
WC()->cart->add_discount( $coupon_code ); // apply the coupon discount
WC()->session->__unset('coupon_code'); // remove coupon code from session
}
}
코드가 기능합니다.php 파일(또는 활성 테마)입니다(또는 활성 테마)을 입력합니다.테스트 완료 및 동작
언급URL : https://stackoverflow.com/questions/48220205/get-a-coupon-code-via-url-and-apply-it-in-woocommerce-checkout-page
반응형
'programing' 카테고리의 다른 글
| x: xaml의 의미 (0) | 2023.04.10 |
|---|---|
| &(앰퍼샌드) 문자를 AJAX를 통해 전송하려면 어떻게 해야 합니까? (0) | 2023.04.05 |
| Wordpress 5.6.1 - Permissions-Policy Header 구현 (0) | 2023.04.05 |
| JQuery $.getJ에 매개 변수를 전달하는 방법SON 콜백 방식? (0) | 2023.04.05 |
| 정렬 순서가 지정되지 않은 경우 MongoDB는 레코드를 어떻게 정렬합니까? (0) | 2023.04.05 |