programing

Woocommerce의 특정 결제 게이트웨이에 대한 체크아웃 시 추가 필드

newsource 2023. 2. 7. 20:01

Woocommerce의 특정 결제 게이트웨이에 대한 체크아웃 시 추가 필드

커스텀 Woocommerce 결제 게이트웨이를 가지고 있는데 결제 선택 시 체크아웃에 필드를 추가해야 합니다.

기본적으로 사용자가 커스텀 결제 게이트웨이를 클릭하면 "select" 필드가 나타나며 선택 필드에서 선택해야 합니다.

제가 해야 할 일을 더 잘 표현하기 위해 스크린샷을 첨부했습니다.유감스럽게도 문서에서는 이에 대한 정보를 찾을 수 없었습니다.

이것은 이미지입니다.

다음 코드는 체크 아웃페이지의 게이트웨이 설명(커스텀텍스트 입력 필드)에 부가됩니다( 예에서는 BACS 지불 게이트웨이에 부가됩니다).

// BACS payement gateway description: Append custom select field
add_filter( 'woocommerce_gateway_description', 'gateway_bacs_custom_fields', 20, 2 );
function gateway_bacs_custom_fields( $description, $payment_id ){
    //
    if( 'bacs' === $payment_id ){
        ob_start(); // Start buffering

        echo '<div  class="bacs-fields" style="padding:10px 0;">';

        woocommerce_form_field( 'field_slug', array(
            'type'          => 'select',
            'label'         => __("Fill in this field", "woocommerce"),
            'class'         => array('form-row-wide'),
            'required'      => false,
            'options'       => array(
                ''          => __("Select something", "woocommerce"),
                'choice-1'  => __("Choice one", "woocommerce"),
                'choice-2'  => __("Choice two", "woocommerce"),
            ),
        ), '');

        echo '<div>';

        $description .= ob_get_clean(); // Append buffered content
    }
    return $description;
}

코드는 기능합니다.php 파일에는 액티브한 아이 테마(또는 활성 테마).테스트 및 동작합니다.

여기에 이미지 설명 입력

관련:Woocommerce의 특정 결제 게이트웨이에 대한 추가 체크아웃 필드 확인 및 저장


필드를 검증하고 주문 커스텀메타 데이터로 저장하여 주문 및 이메일 알림에 표시하는 완전한 방법:

Woocommerce의 모든 위치에 특정 결제 게이트웨이 추가 필드 저장 및 표시

언급URL : https://stackoverflow.com/questions/52164954/additional-field-on-checkout-for-specific-payment-gateway-in-woocommerce