체크아웃 무료 아이템 매장 테마를 단순화하는 방법

게시 됨: 2020-11-03

스토어프론트 체크아웃 간소화 무료 아이템 대부분의 우커머스 매장에서는 고객이 상품을 구매하고 결제를 진행한 후 결제를 진행합니다. 또한 배송 방법을 선택하거나 쿠폰 코드를 입력하여 할인을 받을 수도 있습니다.

그러나 상점에서 무료 항목을 제공하는 경우 결제 시 모든 필드를 요구하지 않을 수 있습니다. 즉, 배송료를 징수하지 않습니다. 결과적으로 청구 세부 정보가 필요하지 않을 수 있으며 이름과 이메일만 필요할 수 있습니다.

스토어프론트 체크아웃 간소화 무료 아이템

WooCommerce는 무료 체크아웃에 대한 지불 방법 선택을 제거하는 데 도움이 된다는 점을 언급할 가치가 있습니다. 그러나 청구 필드는 여전히 존재하며 주문을 하는 데 필요합니다. 결제 세부 정보

무료 멤버십과 같은 무료 가상 제품을 판매하는 경우 결제 프로세스를 단순화하는 것이 가장 좋습니다.

이 문제가 발생하면 WC()->cart->needs_payment() 확인으로 체크아웃에 비용이 들지 않는지 쉽게 확인할 수 있습니다. 지불이 필요하지 않은 경우 무료 WooCommerce 체크아웃을 단순화하기 위해 몇 가지 조치를 취하기 위해 이것을 사용하는 방법을 설명하겠습니다. 조건부로 일부 청구 필드를 제거해야 합니다.

무료 체크아웃을 간소화하고 이를 사용 가능한 스니펫으로 통합하기 위해 취할 수 있는 몇 가지 단계를 안내해 드리겠습니다.

무료 항목에 대한 결제를 간소화하는 단계

  1. 쿠폰 양식 제거

할인이 없기 때문에 무료 체크아웃을 원할 경우 쿠폰 양식이 필요하지 않습니다. 나는 사용할 것이다! WC()->cart->needs_payment()를 수표로 사용하여 총 결제 금액이 $0인 것으로 가정하므로 배송 비용이나 주문 결제가 필요하지 않습니다. 쿠폰 입력을 안전하게 제거하려면 다음 코드를 사용해야 합니다.

 // 무료 장바구니에 대한 쿠폰을 원하지 않으면 쿠폰 양식을 제거합니다.

remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
  1. 주문 메모 비활성화

무료 주문을 위해 주문 메모를 수집할 수 있습니다. 그러나 우리가 하려고 하는 주요 작업은 WooCommerce 스토어의 고객을 위한 체크아웃 프로세스를 단순화하는 것입니다. 체크아웃의 "추가 정보" 섹션 전체를 제거하겠습니다. 이것은 false로 설정할 수 있으므로 woocommerce_enable_order_notes_field 필터를 사용하여 수행할 수 있으므로 주문 메모가 없습니다.

 // "추가 정보" 주문 메모를 제거합니다.

add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );
  1. 불필요한 필드 설정 해제

무료 주문이기 때문에 신용 카드를 청구할 필요가 없습니다. 결제에 있는 대부분의 청구 필드는 필요하지 않습니다. 이것은 내가 필요하지 않은 구매 필드를 설정 해제해야 함을 의미합니다. WooCommerce 문서에서 체크아웃 필드 목록을 찾을 수 있습니다.

 // 무료 체크아웃에서 원하지 않는 필드의 설정을 해제합니다.

기능 unset_unwanted_checkout_fields( $fields ) {

// 제거할 청구 필드 키 목록

$billing_keys = 배열(

'billing_company',

'billing_phone',

'billing_address_1',

'청구 주소_2',

'billing_city',

'billing_postcode',

'청구 국가',

'청구 상태',

);

// 원하지 않는 각 필드를 설정 해제합니다.

foreach( $billing_keys as $key ) {

unset( $fields['billing'][$key] );

}

$ 필드 반환;

}

add_filter( 'woocommerce_checkout_fields', 'unset_unwanted_checkout_fields' );

그러나 결제 양식에서 제거하려는 필드를 선택할 수 있습니다.

  1. 코드 추가

다음은 Storefront 테마의 functions.php 파일에 코드를 추가하는 단계입니다.

  1. WordPress 사이트에 로그인하고 관리자로 대시보드 에 액세스합니다.
  2. 대시보드 메뉴에서 모양 메뉴 > 테마 편집기 메뉴 를 클릭합니다. 테마 편집기 페이지가 열리면 무료 항목 체크아웃을 단순화하기 위해 테마 기능 파일을 찾으십시오.
  3. 함수에 다음 코드를 추가합니다. PHP
 /**

 * 결제에 지불이 필요하지 않은 경우 쿠폰 양식, 주문 메모 및 여러 청구 필드를 제거합니다.

 *

 * PHP 5.3 이상이 필요합니다.

 *

  */

기능 sv_free_checkout_fields() {

            // 먼저 일반 WP 후크에 연결되어 있으므로 WC가 활성화되지 않은 경우 보석

            if ( ! function_exists( 'WC' ) ) {

                        반품;

            }

            // 장바구니에 지불이 필요한 경우 보석금을 내고 아무 것도 하고 싶지 않습니다.

            if ( WC()->장바구니 && WC()->장바구니->needs_payment() ) {

                        반품;

            }

            // 이제 체크아웃 중인 경우에만 계속합니다.

            // is_checkout()은 WC 3.2부터 ajax 컨텍스트에서 중단되었습니다. is_ajax를 다시 확인하십시오.

            // WOOCOMMERCE_CHECKOUT을 확인하지만 테스트 결과 안정적으로 설정되지 않은 것으로 나타났습니다.

            if ( function_exists( 'is_checkout' ) && ( is_checkout() || is_ajax() ) ) {

                        // 무료 장바구니에 대한 쿠폰을 원하는 이유는 무엇입니까?

                        remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );

                        // "추가 정보" 주문 메모를 제거합니다.

                        add_filter( 'woocommerce_enable_order_notes_field', '__return_false' );

                        // 무료 체크아웃에서 원하지 않는 필드의 설정을 해제합니다.

                        add_filter( 'woocommerce_checkout_fields', 기능( $fields ) {

                                    // 원하지 않는 청구 필드 추가 또는 제거

                                    // 필드: http://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/#section-2

                                    $billing_keys = 배열(

                                                'billing_company',

                                                'billing_phone',

                                                'billing_address_1',

                                                '청구 주소_2',

                                                'billing_city',

                                                'billing_postcode',

                                                '청구 국가',

                                                '청구 상태',

                                    );

                                    // 원하지 않는 각 필드를 설정 해제합니다.

                                    foreach( $billing_keys as $key ) {

                                                unset( $fields['billing'][ $key ] );

                                    }

                                    $ 필드 반환;

                        } );

            }

}

add_action( 'wp', 'sv_free_checkout_fields' );
  1. 전체 코드를 추가하면 WooCommerce 결제가 간소화됩니다. 간편결제

결론

요약하자면, 저는 체크아웃 프로세스를 단순화하는 단계를 안내해 드렸습니다. 코드를 이해할 수 있도록 단계를 자세히 설명했습니다. 그러나 이 기사에는 활성 테마 function.php 파일에서 만들 수 있는 코드 변경 또는 스니펫이 포함되어 있습니다. 이 작업에 익숙하지 않은 경우 WordPress 개발자를 고용하십시오.

유사한 기사